5

私はこの回答を見つけました: 1.データソースを必要とするQuartzに対する長い回答ですが、さらに深い回答が必要な場合は、ソースコードを掘り下げるか、さらに調査する必要があると思います: JobStoreCMT は、Quartz を使用しているアプリケーションによって管理されるトランザクションに依存しています。ジョブ/トリガーをスケジュール (またはスケジュール解除) する前に、JTA トランザクションが進行中である必要があります。これにより、スケジューリングの「作業」をアプリケーションの「より大きな」トランザクションの一部にすることができます。JobStoreCMT では、実際には 2 つのデータソースを使用する必要があります。1 つはアプリケーション サーバーによって (JTA を介して) 管理される接続のトランザクションを持ち、もう 1 つはグローバル (JTA) トランザクションに参加しない接続を持つデータソースです。JobStoreCMT は、アプリケーションが (EJB セッション Bean などを介して) JTA トランザクションを使用して作業を実行している場合に適しています。(参照;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 に答える