如何在JBoss 4.2.2上实现Timer

时间:2010-10-04 16:24:26

标签: jboss timer

如何以独立于供应商的方式在JBoss 4.2.2上实现计时器。

要求:

  • 在定义的时间间隔内触发逻辑
  • 启动时启动计时器
  • 不依赖于JBoss特定的库/功能
  • 不要使用servlet启动计时器

但我只看到了这种可能性:

  1. 实施接口org.jboss.varia.scheduler.Schedulable

  2. 将ejb3与MBean结合使用(MBean用于启动计时器)

  3. 使用javax.management.timer.Timer作为MBean

1 个答案:

答案 0 :(得分:0)

好的,我的解决方案最终是:

@Service(objectName = "scheduler.test:service=CommonSchedulerTimer")
@Remote(Scheduler.class)
public class SchedulerTimerBean implements Scheduler, SchedulerManagement {

@Timeout
public void timeoutHandler(Timer timer) {

它是什么:

  • 无状态会话Bean
  • 计时器Bean
  • 的MBean

什么不是供应商独立的:

  • 服务注释

但我没有找到独立于供应商的方法来从一个单独的MBean访问ejb。问题是bean的初始化顺序,我无法配置,必须以干净的方式在EJB之后加载MBean。