5

我找到了这个答案: 1. Quartz 要求数据源的长答案,但是,如果您想要更深入的答案,我相信我需要深入研究源代码或做更多研究:JobStoreCMT 依赖于由使用 Quartz 的应用程序管理的事务。在尝试调度(或取消调度)作业/触发器之前,必须进行 JTA 事务。这允许调度的“工作”成为应用程序“更大”事务的一部分。JobStoreCMT 实际上需要使用两个数据源 - 一个具有由应用程序服务器管理的连接事务(通过 JTA),另一个具有不参与全局 (JTA) 事务的连接的数据源。当应用程序使用 JTA 事务(例如通过 EJB 会话 Bean)来执行它们的工作时,JobStoreCMT 是合适的。(参考;http://quartz-scheduler.org/documentation/quartz-1.x/configuration/ConfigJobStoreCMT )

但是,在我们的特定应用程序中,与非事务驱动程序存在冲突。有谁知道 Quartz (JobsStoreCMT) 是否可以只使用事务数据源?

4

1 回答 1

5

有谁知道 Quartz (JobsStoreCMT) 是否可以只使用事务数据源?

不,您必须拥有每种类型的数据源。客户端应用程序对 API 的调用使用支持 XA 的连接,因此工作连接是应用程序的事务。调度程序的内部线程完成的工作使用非 XA 连接。

于 2011-09-19T13:54:13.463 回答