少し複雑な要件:
データコレクターとして機能し、利用可能なときにさまざまな場所からデータを収集するクォーツジョブがいくつかあります。次に、DB を更新するためにコレクター ジョブから呼び出される/トリガーされる別のジョブ [データ ロード] があります。
私の要件は、負荷ジョブを調整して、2 つのインスタンスのみを並行して実行し、コレクター ジョブからの作業を処理する方法です。
コレクター ジョブ 1、2、...N > ローダー ジョブ (2 つのインスタンス)
ジョブ プログラムはクラスター化された Tomcat にデプロイされます。
2 つの質問: 1) ローダー ジョブの 2 つのインスタンスが既に処理中の場合、コレクター ジョブを待機させるにはどうすればよいですか? Quartz プログラムを使用して FIFO ロジックをインプリメントし、ローダー ジョブへの作業を抑制する方法はありますか? また、すでに処理を待っているデータがある場合、コレクターが別のデータを取得することも望ましくありません。2) 2 つのスレッドのみでジョブを実行する方法はありますか? 一度に 2 つ以上のインスタンスをアクティブにする必要はありませんか? DB テーブルには、2 つのインスタンスのみを並行して実行するという制限があります。