Мы используем MDC для регистрации всех транзакций с идентификатором сеанса, но иногда он добавляет неправильный сеанс.
Я использую sessionId в фильтре
MDC.put("sessionId", request.getSession().getId());
Вывод журнала
2015-01-24 23:13:04,857 INFO [STDOUT] (http-0.0.0.0-8090-28) [LOGBACK] 23:13:04.857 [INFO ] 371691C0B3B4481E9589BDE0C24F54C8 [Inbound Message][ID:319526][Address:http://195.233.91.82:8090/myacct/activate/updateConsent][Http-Method:POST][Content-Type:application/json; charset=UTF-8][Headers:{cookie=[JSESSIONID=371691C0B3B4481E9589BDE0C24F54C8;.....
2015-01-24 23:13:05,242 INFO [STDOUT] (http-0.0.0.0-8090-28) [LOGBACK] 23:13:05.242 [INFO ] 1434BC692D5059660EA0F8B36B143064 [Outbound Message][ID:319526][Response-Code:200][Content-Type:application/json;charset=utf-8].......
Как вы можете видеть, когда запрос возродился, идентификатор сеанса был правильным, а когда при регистрации ответа был добавлен неправильный идентификатор сеанса, но поток одинаков для обоих журналов.
В соответствии с MDC «MDC управляется для каждого потока»
Я что-то не так делаю?
http-0.0.0.0-8090-28
- person NullPointerException   schedule 27.01.2015