EJB3计时器是否继承到它们所创建的bean?

时间:2010-08-25 13:35:40

标签: java timer ejb-3.0

使用TimerService.createTimer()在EJB3中创建计时器,然后通过@Timeout注释注释的任何回调方法运行计时器,即:

@Resource
private TimerService timerService;

public void createHampster() {
    Hampster hampster = new Hampster("Fluffy III");
    timerService.createTimer(3000, 3000, hampster);
}

(...)

@Timeout
public void feedHampster(Timer timer) {
    Hampster hampster = (Hampster) timer.getInfo()
    //(...)
}

所以,我的问题是,这两个代码块是否需要在同一个bean中?定时器是继承到创建它们的bean还是全局的?我自己的测试建议但是前者,我在文档中没有找到任何明确的内容。

1 个答案:

答案 0 :(得分:2)

它们与创建它们的bean绑定在一起。 EJB 3规范第18.2节说:

  

企业bean的bean类   必须使用计时器服务   提供超时回调方法。

  

当计时器指定的时间   创造过去了,容器   调用超时回调方法   豆子。