Мне пришлось взять гигантский монолит с несколькими слоями, услугами и компонентами.Ошибка проектирования, злоупотребление MDC
Пока я шел по коду, первое, что я понимаю, это использование MDC.
Некоторые примеры:
public void setContextOrderId(String orderId) {
MDC.put("orderId", orderId);
}
или
String sessionId = MDC.get("sessionId");
MDC используется в качестве статического HashMap через приложение, я считаю, мотив был обусловлен тем, что MDC предоставляется по запросу поперек запросить конвейер, и он использовался в качестве хранилища.
Как его заменить? Есть ли альтернатива для контейнера с защитой от резьбы?
Спасибо.
это просто мешает мне, почему MDC используется для хранения. Каждый бит данных помещается и считывается из MDC по всему месту. – DarthVader