【发布时间】:2016-01-07 23:33:59
【问题描述】:
是否允许在 EJB 中使用生成和管理线程的库?
我用这样的类写了一个 JavaSE 库:
public class LibraryClass {
public void longRunningMethod() {
ExecutorService service = Executors.newFixedThreadPool(10);
//schedule tasks
service.shutdown();
try {
service.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
EJB 示例:
@Stateless
class Bean {
public void beanMethod() {
LibraryClass libraryClass = new LibraryClass();
libraryClass.longRunningMethod();
}
}
在 EJB 中使用这样的东西可以吗?
规范声明“企业 bean 不得尝试管理线程”,如果线程在 EJB 之外进行管理,这是否仍然适用,甚至可能不受开发人员的控制(例如在使用 3rd 方库时) ?
【问题讨论】:
标签: java multithreading jakarta-ee ejb