mirror of
https://github.com/TheWhiteDog9487/WebAPI.git
synced 2026-08-11 23:01:30 +08:00
写入数据库时加入错误捕获以防未释放锁导致卡死整个系统
This commit is contained in:
@@ -56,16 +56,24 @@ public class LogClientInfo implements Filter {
|
||||
Instant.now(),
|
||||
null,
|
||||
null );
|
||||
try {
|
||||
SQLiteWriteLock.lock();
|
||||
Log = AccessLogRepository.save(Log);
|
||||
SQLiteWriteLock.unlock();
|
||||
Log = AccessLogRepository.save(Log); }
|
||||
catch (Exception e) {
|
||||
log.error(e.getLocalizedMessage()); }
|
||||
finally {
|
||||
SQLiteWriteLock.unlock(); }
|
||||
chain.doFilter(request, Response);
|
||||
var ResponseBody = IgnorePaths.stream()
|
||||
.anyMatch( path -> HttpServletRequest.getRequestURI().startsWith(path) )
|
||||
? null : new String( Response.getContentAsByteArray(), Response.getCharacterEncoding() );
|
||||
Log.setResponseStatusCode(HttpServletResponse.getStatus());
|
||||
Log.setResponseBody(ResponseBody);
|
||||
try {
|
||||
SQLiteWriteLock.lock();
|
||||
AccessLogRepository.save(Log);
|
||||
SQLiteWriteLock.unlock();
|
||||
AccessLogRepository.save(Log); }
|
||||
catch (Exception e) {
|
||||
log.error(e.getLocalizedMessage()); }
|
||||
finally {
|
||||
SQLiteWriteLock.unlock(); }
|
||||
Response.copyBodyToResponse(); } }
|
||||
Reference in New Issue
Block a user