スケジューリングにクォーツを使用する 2 つのアプリケーションがあります。このアプリケーションの Quartz.properties は次のとおりです。
org.quartz.scheduler.instanceName = sr22QuartzScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.skipUpdateCheck = true
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 2
org.quartz.threadPool.threadPriority = 5
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties = false
org.quartz.jobStore.dataSource = quartzDS
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.clusterCheckinInterval = 20000
org.quartz.scheduler.idleWaitTime=1000
#org.quartz.jobStore.acquireTriggersWithinLock=true
#Adding unusually high misfire threshold as we dont want to handle misfires
org.quartz.jobStore.misfireThreshold = 50000000
#org.quartz.jobStore.maxMisfiresToHandleAtATime = 0
org.quartz.dataSource.quartzDS.jndiURL= java:jdbc/quartzDS
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = false
#org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
#org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger \{1\}.\{0\} fired job \{6\}.\{5\} at: \{4, date, HH:mm:ss MM/dd/yyyy}
#org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger \{1\}.\{0\} completed firing job \{6\}.\{5\} at \{4, date, HH:mm:ss MM/dd/yyyy\}
もう一方のアプリケーションの構成は同じですが、instanceName が異なります。
両方のアプリケーションは、サーバー インスタンスの同じセットで実行されます。両方とも、データベース内の Quartz Job ストアと同じテーブル セットを使用します。
今問題は次のとおりです。
両方のアプリケーションが同時に実行されている場合、トリガーは適切にルーティングされません。application1 からのトリガーは application2 にルーティングされ、その逆も同様です。これはランダムに発生します。
アプリケーションは、同じデータベース内の異なる一連の quatrz テーブルを使用する必要がありますか? 複数のアプリケーションに対して、サーバーごとに 1 つの Quartz スケジューラ インスタンスのみを使用する必要がありますか?
クォーツでランダムな動作が見られます。セットアップに問題はありますか??
ところで、私たちはクォーツ1.8を使用しています。
どんな助けでも大歓迎です。
ありがとう、シュリ・ハルシャ・イェンガンティ。