Когда сервер Undertow передает каналы org.xnio.XnioWorker#taskPool?
Я пытаюсь понять как org.xnio.nio.WorkerThread
работает. Как я вижу, он продлен org.xnio.nio.NioXnioWorker
и переопределяет java.util.concurrent.Executor#execute
который "положил" Runnable
в TaskPool. Но во время отладки весеннего веб-приложения org.xnio.XnioWorker#execute
не вызывается и похоже, что этот пул не используется. (A Thread#run with queue polling
используется во внутренних органах).
Может ли кто-нибудь сказать, какова цель org.xnio.XnioWorker.TaskPool
и при каких условиях этот бассейн питается Runnable
задачи по Undertow
сервер?
1 ответ
Каждый раз, когда у вас блокируется ввод-вывод, он должен выполняться в рабочих потоках. Это делается, когда диспетчер вызван, и есть вспомогательный обработчик, который делает это для вас, BlockingHandler.