Использует ли служба управляемого исполнителя по умолчанию тот же пул потоков, который используется общим приложением в Wildfly?

#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.

Конфигурация Undertow

С другой стороны, служба управляемого исполнителя имеет свою собственную конфигурацию потоков

Конфигурация службы управляемого исполнителя

http://www.mastertheboss.com/jboss-web/jbosswebserver/using-a-custom-thread-pool-for-web-applications-running-on-wildfly