java.util.Timer与EJB TimerBean

csn*_*csn 4 java ejb timer

我必须为以下场景实现一个简单的Timer任务 -

method1(){  
.....  
   if(success){  
      trigger method2 for next 30 min every 15 sec  
   }  
}
Run Code Online (Sandbox Code Playgroud)

我已经使用java.util.Timer和java.util.TimerTask实现了这个代码,并且它工作正常.但是,我的代码最终将部署为glassfish服务器中的Web服务.所以我想知道它会因玻璃鱼容器而产生任何问题,因为我通过Timer间接使用线程.

我也不确定我是否应该使用EJB Timer Bean.有人可以建议这两种方法的优缺点是什么?

Ale*_*aer 5

EJB规范警告用户编码(或第三边编码)线程.

企业bean不得尝试管理线程.企业bean不得尝试启动,停止,暂停或恢复线程,或更改线程的优先级或名称.企业bean不得尝试管理线程组.(21.2.2编程限制,EJB 3.1规范)

EJB Timer Bean是首选.