クォーツ2.1.4を使用してJavaスケジューラジョブを実行している本番環境。4台のマシンと1つのスケジュールジョブのみが1つのクラスタノード(ノード1)で通常数か月間実行されるweblogicクラスタサーバーでは、ノード2は、ノード1が昨夜実行中のジョブの引き継ぎに失敗したことを突然見つけました。実際、ノード1はエラーなしで(サーバー、ネットワーク、データベース、アプリケーションログによると)、このイベントにより、2つのプロセスの同時実行が原因で重複メッセージが作成されました。
ノードの障害を検出するクォーツのメカニズムは何ですか?pingスキャン、またはUCPブロードキャストを介したハートビートping、またはデータベースの応答時間などによって?その上の構成はありますか?
クォーツ構成ガイド http://quartz-scheduler.org/documentation/quartz-2.1.x/configuration/ConfigJDBCJobStoreClusteringを読みました が、答えがありません。
JDBCJobstoreを使用しています。詳細を確認したところ、異常な長さ(5秒から30秒)で実行されているデータベース(Oracle)ステートメントがあることがわかりました。事件はこの時期に起こった。あなたはそれが関連していると思いますか?
私の設定は
`org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.jobStore.misfireThreshold = 10000
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX `
誰かがこの情報を持っていますか?ありがとう。