私はいくつかのレイヤー、サービス、コンポーネントを持つ巨大なモノリスを引き継がなければなりませんでした。デザインが失敗し、MDCの濫用
私がコードを歩いているうちに、私が気づいた最初のことは、MDCの使用です。
いくつかの例は:MDCは、アプリ間での静的のHashMapとして使用されている
public void setContextOrderId(String orderId) {
MDC.put("orderId", orderId);
}
または
String sessionId = MDC.get("sessionId");
、私は動機がMDCは全体の要求ごとに利用可能であるという事実によるものだった信じて要求パイプラインとそれはストレージとして使用されました。
どのように置き換えることができますか?スレッドセーフなコンテナの代替手段はありますか?
ありがとうございました。
MDCがストレージに使用されている理由はわかりません。すべてのビットのデータがMDCからすべて読み込まれて読み込まれます。 – DarthVader