<dependency>
<groupId>javax</groupId>
<artifactId>javaee-concurrent</artifactId>
<version>1.0</version>
</dependency>
public class MyTask implements Callable<String> {
@Override
public String call() throws Exception {
return "Task completed!";
}
}
@Inject
private ManagedExecutorService executorService;
public void executeTask() {
Future<String> futureResult = executorService.submit(new MyTask());
try {
String result = futureResult.get();
System.out.println(result);
e.printStackTrace();
}
}
ManagedExecutorConfig config = new ManagedExecutorConfig();
config.setMaxThreads(10);
config.setCoreThreads(5);
ManagedExecutorService executorService = ManagedExecutorFactoryImpl.getInstance().createManagedExecutor(config);
@PreDestroy
public void cleanUp() {
executorService.shutdownNow();
}