jboss 7.1.1上的java集群TimerService?
我正在寻找一种方法来正确地集群使用计时器的JavaEE应用程序。我的意思是,我正在寻找以下特性:
- 计时器执行应该回退到其他集群节点。我的意思是节点A上的某个EJB创建了一个计时器:
timerService.createIntervalTimer(/* every 10 seconds */)
然后脱机(崩溃)超时调用将在节点B(部署了相同应用的其他集群节点)上启动 - 计时器应该可以跨集群访问。我的意思是,如果EJBX创建了一个在节点a上运行的计时器,那么在集群节点B上运行的同一个EJBX(显然是同一个类)可以通过执行类似于
timerService.getTimers().iterator().next().cancel();
的操作来取消该计时器 - 计时器的执行可以分布在集群中——例如,如果我的超时方法是一个很长的计算,而我没有在10秒内完成(当计时器下次过期时),我希望下一次超时调用发生在其他节点上,而不是繁忙的节点上。
显然,这是我理想的功能集,但任何指向正确方向的指针都会受到欢迎
共 (0) 个答案