Ресурсы по умолчанию не включены CDI по умолчанию. Добавьте следующее к вашему HelloResource
классу @RequestScoped
после @Parth
Тогда это будет работать:
@Resource(lookup="concurrent/execSvc")
ExecutorService executorService;
, где server.xml
содержит следующее (я настоятельно рекомендую толькодобавляя функции, которые вам действительно нужны, сервер будет запускаться быстрее и потреблять меньше ресурсов. javaee-8.0
приносит много вещей, которые вам обычно не нужны):
<!-- Enable features -->
<featureManager>
<feature>cdi-2.0</feature>
<feature>concurrent-1.0</feature>
<feature>jaxrs-2.1</feature>
<feature>localConnector-1.0</feature>
<feature>servlet-4.0</feature>
</featureManager>
....
<managedExecutorService jndiName="concurrent/execSvc"/>
в выводе из класса:
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getHello() {
System.out.println("rest called: " + executorService);
return "hello ";
}
Я вижу, как правильно введен исполнитель:
rest called: com.ibm.ws.concurrent.internal.ManagedExecutorServiceImpl@5f9d9066