У меня есть данные, хранящиеся в ThreadLocal (например, MDC), и мне нужно его обновить для каждого запроса.Как перехватить код в пуле потоков rx-netty
Использование http-клиента rx-netty Я ставлю это значение как заголовок http, но не могу найти крючок, где я могу прочитать это значение после того, как элемент управления передан в пул потоков netty, а затем установите его в потоке локальный нитей.
Возможно ли это, используя некоторые API?
@ nitest-kant Спасибо. Можете ли вы подробнее рассказать? В настоящее время я вижу, что строитель использует это: withPipelineConfigurator (DEFAULT_HTTP_PIPELINE_CONFIGURATOR) Как именно добавить обработчик канала? Кроме того, обработчик канала задает время сборки клиента, и мне нужен крючок, чтобы установить значение в потоке вызывающего, которое будет доступно, когда этот обработчик запущен в сетевом потоке и повторит эту логику для каждого HTTP-запроса. – YaOg
@YaOg Вот суть, которая демонстрирует, как добавить обработчик и читать HTTP заголовки в обработчике: https://gist.github.com/NiteshKant/5202f396ac903d2dc0a4 обработчики выполняются в eventloop Нетти для каждой записи (который в этом случае предназначен для каждого запроса). –
Спасибо. Я пробовал это, но теперь один и тот же запрос, выполняемый на том же сервере, терпит неудачу в тайм-ауте. – YaOg