私は使っている
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.getScheduler();
scheduler.start();
Trigger asapTrigger = getAsapTrigger();
JobDetail asapJob = getAsapJobDetails();
scheduler.scheduleJob(asapJob, asapTrigger);
これは機能していますが、クラスター環境に行くと、同じジョブで2つのスレッドが実行されています。
プロパティファイルではなく注釈を使用しています。 1つのスレッドだけを実行したい。誰かがこれを助けることができますか?設定方法
私のコードはほとんど次のようになります: http://k2Java.blogspot.com/2011/04/quartz.html
クラスター環境で実行するには、Quartzを構成する必要があります。現在、クラスタリングはJDBCジョブストアでのみ機能し、クラスターの各ノードが同じデータベースを共有することで機能します。
クラスター内の各インスタンスは、quartz.propertiesファイルの同じコピーを使用する必要があることに注意してください。さらに、別々のマシンでクラスタリングを使用する場合は、それらのクロックが同期されていることを確認してください。
詳細については、クラスタ化されたスケジューラのサンプルプロパティファイルが含まれている 公式ドキュメント を確認してください。