9

複数のインスタンスを持つ Quartz セットアップがあり、実行されているジョブを中断したいと考えています。ドキュメントで述べられているScheduler.interrupt()ように、メソッドはクラスターに対応していないため、このような制限を克服するための一般的な方法を探しています。

4

2 に答える 2

2

さて、これを達成するために使用すべきいくつかの基本があります。

クラスター モードで実行している場合、現在実行中のジョブに関する情報は、Quartz テーブルで利用できます。たとえば、q_fired_triggers実行中のジョブが含まれています。この表の最初の列は、それを担当するスケジューラ名です。そのため、誰が何をしているのかを簡単に知ることができます。

次に、Quartz インスタンスの JMX エクスポートを有効にするorg.quartz.scheduler.jmx.exportと、MBean は、各スケジューラを個別にリモート管理するための新しいエントリ ポイントを有効にします。MBean はメソッドを提供しますboolean interruptJob("JobName", "JobGroup")

次に、適切なスケジューラ インスタンスでこのメソッドを"単に" 呼び出して、効果的に中断する必要があります。

すべてのプロセスを手動で試してみましたが、正常に動作します。自動化する必要があるだけです:)

ハイ

于 2012-10-29T15:00:17.420 に答える