title: Design fail, abuse of MDC
body: <p>I had to take over an giant monolith with several layers, services and components. </p>
  
  <p>While i was walking over the code, first thing I realize is the use of <a href="http://slf4j.org/api/org/slf4j/MDC.html" rel="nofollow noreferrer">MDC</a>.</p>
  
  <p>Some example: </p>
  
  <pre><code>public void setContextOrderId(String orderId) {
      MDC.put("orderId", orderId);
  }
  </code></pre>
  
  <p>or </p>
  
  <pre><code>String sessionId = MDC.get("sessionId");
  </code></pre>
  
  <p>MDC is used as a static HashMap across the app, I beleive the motive was due to the fact that MDC is available per request across the request pipeline and it was used as a storage. </p>
  
  <p>How can I replace it? Is there an alternative for thread safe container?</p>
  
  <p>Thanks. </p>