<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">If a thread switch occurs the MDC context is lost.<div><br></div><div>You can attach it to the exchange:</div><div><br></div><div><div><font face="monospace">public static final AttachmentKey&lt;Map&lt;String, String&gt;&gt; MDC_CONTEXT_KEY = AttachmentKey.create(Map.class);</font></div></div><div><font face="monospace">....</font></div><div><font face="monospace">exchange.putAttachment(MDC_CONTEXT_KEY, MDC.getCopyOfContextMap());</font><br></div><div>...</div><div><br></div><div>and then restore it in your worker thread:</div><div><br></div><div><font face="monospace">MDC.setContextMap(exchange.getAttachment(MDC_CONTEXT_KEY));</font><br></div><div><br></div><div>Hope this helps,</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"> <font size="4">Andrea Di Cesare</font></div><div dir="ltr"><div dir="ltr"> Partner at <a href="https://softinstigate.com/" target="_blank">Soft<b>Instigate</b></a><font size="4"><br></font></div><div dir="ltr"> MongoDB Technology Partner </div><div dir="ltr"> <a href="https://sched.co/b2Hz" target="_blank"><img src="https://docs.google.com/uc?export=download&amp;id=1To-wOR_h9VjVcsfochmjd4JxjQ7UluzH&amp;revid=0BxzmRFiL7K0IQW5WSWo5d0hiS0Nib0crTWRFdzNvbWxLb1hZPQ" width="158" height="200"></a></div><div dir="ltr"> Via Copernico 38, 20125 Milano (Italy)<br></div><div dir="ltr"><div dir="ltr"> Mobile: +39 329 737 6417</div><div dir="ltr"> Skype: ujibang</div></div><div dir="ltr"><img src="https://drive.google.com/a/softinstigate.com/uc?id=1wu6-sfqQWI8-8MGKuYu3BQTR4StPt33a&amp;export=download"><br></div><div dir="ltr"> The company behind <a href="https://restheart.org" target="_blank"><b>REST</b>Heart</a>, the NoCoding and NoSQL Platform for MongoDB </div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno mar 2 giu 2020 alle ore 14:57 Мартынов Илья &lt;<a href="mailto:imartynovsp@gmail.com">imartynovsp@gmail.com</a>&gt; ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>I&#39;ve created a handler to fill MDC from incoming request header.</div><div>public class CorrelationHandler implements HttpHandler<br>{<br>    private HttpHandler next;<br>    public CorrelationHandler(HttpHandler next) {<br>        this.next = next;<br>    }<br>    @Override<br>    public void handleRequest(HttpServerExchange e) throws Exception {<br>        String corr = e.getRequestHeaders().getFirst(&quot;IDP-CORR-ID&quot;);<br>        MDC.put(&quot;corr&quot;, corr);<br>        next.handleRequest(e);<br>    }<br>}<br></div><div><br></div><div>But most of my processing is done in worker thread and mdc is not passed threre. How to pass it?</div><div><br></div></div>
_______________________________________________<br>
undertow-dev mailing list<br>
<a href="mailto:undertow-dev@lists.jboss.org" target="_blank">undertow-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/undertow-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/undertow-dev</a></blockquote></div>