#java #multithreading #wildfly
#java #многопоточность #wildfly
Вопрос:
Я использую службу управляемого исполнителя в веб-приложении JavaEE, развернутом на Wildfy 21. Цель состоит в том, чтобы выполнить длительную задачу синхронизации в другом потоке, чтобы освободить поток, используемый сервером для ответа на запросы клиентов (HTTP-запросы).
Я использую службу исполнителя по умолчанию, настроенную в Wildfly:
@Resource(lookup = "java:jboss/ee/concurrency/executor/default")
public void setExecutorService(ManagedExecutorService executorService) {
this.executorService = executorService;
}
Использует ли служба управляемого исполнителя по умолчанию тот же пул потоков, который используется для обработки HTTP-запросов? Или Widfly создает новый пул потоков для использования службой управляемого исполнителя?
Я прочитал документацию Widlfy, но не нашел ответчика.
Ответ №1:
Нет, это не так.
Служба управляемого исполнителя использует пул потоков, отличный от того, который используется для обработки HTTP-запросов.
HTTP-запросы обрабатываются подсистемой Web (Undertow), которая использует потоки, определенные в Worker.
С другой стороны, служба управляемого исполнителя имеет свою собственную конфигурацию потоков