5 つの異なるジョブを実装する 5 つの異なるクォーツ スケジューラがあります。1 つのスケジューラーを停止すると、残りのスケジューラーが停止します。なんで?
1 に答える
実際に同じスケジューラへの参照を作成していると確信しています。各スケジューラに異なる「SchedulerName」を与える必要があります。現時点では、新しいスケジューラを作成するたびに SchedulerName がデフォルトになっているようです。
「ジョブ実行者」は、実際には SchedulerFactoryBean ではありません。これは、SchedulerFactoryBean によって提供される Scheduler Bean です (正確には、その start メソッドを呼び出すと、Trigger を起動する集約された QuartzScheduler.start メソッドが呼び出されます)。実際のところ、このスケジューラは、SchedulerRepository シングルトン (SchedulerRepository.getInstance()) の schedulerName (明示的に設定されていない場合、構成されたすべての SchedulerFactoryBean に対して同じデフォルト値を持つ) の下に格納 (およびルックアップ) されます。これが、SchedulerFactoryBean-s に異なる schedulerName を設定しない限り、SchedulerFactoryBean-s ごとに常に同じスケジューラーを取得する方法です。
http://forum.springsource.org/showthread.php?40945-Multiple-Quartz-SchedulerFactoryBean-instances
これがSpring Beansを指していることは知っていますが、ここでも同じことが当てはまると思います。