ExecutorService与异步注释

时间:2012-01-11 13:40:20

标签: java asynchronous ejb-3.0 executorservice

我有一个EJB的列表,每个可能会运行超过1分钟。我想以异步方式在循环中运行它们,然后在超时10秒后使用Future输出检查结果。

据我了解,方法上的ExecutorService@Asynchronous注释都可以为我提供此功能。

我应该何时使用Asynchronous注释,何时使用ExecutorService

谢谢

2 个答案:

答案 0 :(得分:2)

从我的观点来看,我坚持使用EJB功能,因此我会使用@Asynchronous注释,它似乎非常适合您的需求...... ExecutorService是为Java SE世界而制作的,我赢了'建议您直接在Java EE 6服务器中使用它。

答案 1 :(得分:0)

谁在调用EJB?如果它是一个servlet,那么你可能会考虑异步servlet支持。

异步EJB比创建自己的线程(通过ThreadPoolExecutor)更有用,因为容器将在异步线程上建立线程上下文:上下文类加载器,java:名称空间,安全性等。您的应用程序服务器可能还具有其他特性对其管理的线程的服务(例如,监视,超时等)。