首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JBoss EJB2计时器服务-多台服务器,单计时器表?

JBoss EJB2计时器服务-多台服务器,单计时器表?
EN

Stack Overflow用户
提问于 2010-07-01 10:07:43
回答 1查看 537关注 0票数 3

我在任何地方的JBoss文档中都找不到这个,所以我在这里问。

多个非-clustered JBoss实例可以访问和共享相同的定时器表(如EJB2 TIMERS服务所使用的),而不互相打扰,或者每个实例都需要自己的表吗?

在集群的情况下,集群中的节点是否都有访问定时器表的权限,或者它们是否直接通过网络共享信息?

谢谢您的澄清!

富足

EN

回答 1

Stack Overflow用户

发布于 2013-07-06 22:45:21

这是个老生常谈的问题,但也许对某些人还是有用的,所以我会试着回答。

假设同一个定时器表可以在集群中没有执行的不同服务器之间共享(实际上我认为这是可能的),那么将出现几个与TimerService实现相关的问题,例如:假设每个服务器都部署了相同的定时器,那么每个定时器的实例将与此表上的不同记录相关联吗?如果是这样,则在计时器过期时将多次执行业务逻辑。如果部署过程只生成每个定时器的记录,那么当不同的TimerService尝试同时访问/修改相同的信息时,TimerServices是否正确执行?

另一方面,如果这个想法背后的动机是为了实现某种容错,那么仍然存在这样的问题:您的所有服务器都必须部署了相同的计时器,否则TimerService可以尝试执行未部署在服务器中的定时器。

提供高可用性的解决方案已经实现,称为HATimerService。

在集群中只有一个表,但区别在于每次存在唯一的TimerService活动,当执行TimerService的节点失败时,另一个节点成为主节点,因此由于数据库中有可用的信息,因此不存在节点之间的计时器信息交换。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3156795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档