gpt4 book ai didi

quartz-scheduler - JBoss 7.1.1 和 EJB 3.1 定时器服务

转载 作者:行者123 更新时间:2023-12-03 23:39:11 25 4
gpt4 key购买 nike

我正在考虑将基于 Spring Quartz 的应用程序移植到 EJB 3.1 以查看 EJB 是否有所改进。我在理解故障转移如何与 Schedule Timer Service 一起工作时遇到问题。在 Quartz 中,有集群 Quartz 实例使用的数据库表。如果集群中的一个节点崩溃,作业仍将在其他节点上执行。

我一直在研究 Timer Service 如何持久化事物,它似乎使用了 Timer 创建所在的服务器的文件系统。这是真的?我不知道这是怎么可能的,因为它会使计时器服务无法使用,因为它不支持故障转移。

所以我一定是错过了什么。谁能帮我解决这个问题?

最佳答案

EJB 计时器服务根本没有 Quartz 先进(有或没有 Spring)。

EJB 计时器被持久化到一个未知的位置。它可能恰好是文件系统,但如果您碰巧在 Windows 上运行,它也可能是 Windows 注册表,或者它可能是 LDAP 服务器或其他任何东西。

EJB 规范 JIRA 上有一段时间关于这个问题,它在规范邮件列表上讨论过,但后来它被残酷地删除并关闭,因为没有人费心回复任何人(也许是因为很多人在度假当时)。如果您问我,这是关闭问题的最蹩脚的原因之一,但我想规范负责人有时必须采取此类措施。

无论如何,在 JBoss AS 中,持久化发生在嵌入式关系数据源上,然后写入文件系统。通过专有配置,您可以将此数据源指向任何远程数据库。故障转移也必须来自专有的 JBoss 功能。尽管 EJB 为了潜在的集群而禁止很多事情,但规范中没有明确的集群支持,因此特别是 EJB 计时器不是集群感知的。

关于quartz-scheduler - JBoss 7.1.1 和 EJB 3.1 定时器服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12934464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com