我无法创建EJB3计时器服务的计时器?
问题描述:
在EJB3计时器服务中,我可以使用timerService.createTimer(...)
函数创建计时器,但问题是我可以在哪里使用它? 据我所知,我不能在Session Bean的生命周期函数中这样做,如@PostConstruct
函数。我无法创建EJB3计时器服务的计时器?
我也读过它不能在有状态会话bean中调用? 还有什么我应该关注创建计时器吗?
答
我想最重要的是要注意的是定时器是事务对象;这意味着,如果您在将回滚的事务中创建计时器,则计时器创建也会回滚。这也意味着它们必须在交易环境中被调用,并且在@PostConstruct
中没有。
哦,正如你所知,你需要一个TimerService来创建一个计时器,所以你通常会在托管类中使用它,所以你可以注入它。