2

2 ノードの HA サーバーがあります。ノード 1 はアクティブで、ノード 2 はスタンバイです。

1 つのアプリケーションを作成し、Quartz API を使用してクラスタリングを行いました。私はデータベース内のすべてのテーブルを作成しました。

ノード1がダウンしたときにアプリケーションがノード2で自動的に起動するように、ノードまたはjstノード1の両方でモジュールを実行する必要がありますか.

両方のノードでモジュールを実行している間、トリガーとジョブ名は同じにする必要がありますか?

Quartz.properties:

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool

org.quartz.threadPool.threadCount = 10

org.quartz.threadPool.threadPriority = 5

org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

-- RAMJobStore の使用

-- RAMJobStore を使用している場合は、必ずコメントアウトしてください。

-- org.quartz.jobStore.tablePrefix、org.quartz.jobStore.driverDelegateClass、org.quartz.jobStore.dataSource

-org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

-- JobStoreTX の使用

-- 最初に適切なスクリプト (docs/dbTables の下) を実行して、データベース/テーブルを作成してください。

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX

-- DriverDelegate の使用

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate

-- クラスタリング用の新しい設定

org.quartz.jobStore.isClustered = true

org.quartz.jobStore.clusterCheckinInterval = 20000

org.quartz.scheduler.instanceId = 自動

org.quartz.scheduler.instanceId = 自動

org.quartz.scheduler.instanceName = MyClusteredScheduler

-- テーブル接頭辞を使用して JDBCJobStore を構成する

org.quartz.jobStore.tablePrefix = QRTZ_

-- データソースの使用

org.quartz.jobStore.dataSource = qzDS

-- 使用するデータソースを定義します

org.quartz.dataSource.qzDS.driver = oracle.jdbc.driver.OracleDriver

org.quartz.dataSource.qzDS.URL = jdbc:oracle:thin:@10.172.16.147:1521:emadb0

org.quartz.dataSource.qzDS.user = BLuser

org.quartz.dataSource.qzDS.password = BLuser

org.quartz.dataSource.qzDS.maxConnections = 30

-----------------------

4

1 に答える 1

2

によると:http: //quartz-scheduler.org/documentation/quartz-2.x/configuration/ConfigJDBCJobStoreClustering

特に :

クラスタリングは現在、JDBC-Jobstore(JobStoreTXまたはJobStoreCMT)でのみ機能し、基本的にはクラスターの各ノードが同じデータベースを共有することで機能します。

負荷分散は自動的に行われ、クラスターの各ノードが可能な限り迅速にジョブを実行します。トリガーの起動時間が発生すると、(ロックを設定することによって)トリガーを取得する最初のノードがトリガーを起動するノードになります。

すべてのノードを起動する必要があります。最速でジョブがトリガーされ、他のノードはそれを認識します。

于 2012-06-11T16:12:21.640 に答える