哪里我不能创建EJB3定时器服务的计时器?

时间:2011-11-17 12:20:08

标签: java timer ejb-3.0 lifecycle session-bean

在EJB3定时服务中,我可以使用timerService.createTimer(...)函数创建计时器,但问题是我可以在哪里使用它? 据我所知,我不能在Session Bean的生命周期功能中执行此操作,如@PostConstruct函数。

我也读过它无法在有状态会话bean中调用? 关于创建计时器还有什么我应该注意的吗?

1 个答案:

答案 0 :(得分:1)

我想最重要的是要知道定时器是事务对象;这意味着,如果您在将回滚的事务中创建计时器,则还将回滚计时器创建。这也意味着必须在事务上下文中调用它们,@PostConstruct中没有。

哦,如你所知,你需要一个TimerService来创建一个计时器,所以你通常会在托管类中使用它,所以你可以注入它。