Apache HTTP NIO & MDC:: как распространять MDC в потоки, созданные Apache NIO?
Я работаю над распространением requestId в каждый поток, созданный кодом приложения, и я столкнулся с передачей блокировщика MDC
контекст в потоках Apache HTTP NIO.
Я пытался продлить ThreadFactory
и установить его на AsyncClient
, но эти потоки внутренне повторно используются для обработки нескольких задач. Итак, чтобы можно было установить / сбросить MDC
контекст мне придется расширять Executor
который выполняет задачу в одном из общих потоков.
Если бы я мог расширить Apache HTTP NIO Executor
и добавить beforeExecution()
а также afterExecution()
Методы, которые я мог бы решить эту проблему.
Это звучит разумно? Кто-нибудь знает, выполнимо ли это в Apache HTTP NIO?