2016-09-21 3 views
0

まだ実行中のSpringジョブが2回目に開始されないようにします。これは、単一のJVM環境では些細なことです。クラスタ環境でのバッチ・バッチ・ジョブの同時実行の回避

しかし、クラスター環境(具体的には、JBoss 5.1でこれを達成するにはどうすればよいですか?少し古くなっていますが、それ以降のバージョンのソリューションがあれば興味があります)。

したがって、すべてのクラスタノードでシングルトンパターンを使用する必要があります。

私はデータベースロックまたはメッセージキューの使用を検討しています。より簡単で優れたパフォーマンスのソリューションがありますか?

答えて

1

何も知らないスレッドを同期させる必要があるため、最も簡単な方法は共通の場所で情報を共有することです。有効な選択肢は以下のとおりです。

  • 共有データベース
  • 共有ファイル
  • バッチ処理

の状態を保持している外部のウェブサービスは、使用しようとする共有データベースを使用する場合あなたのパフォーマンスを改善するためにRedisのようなデータベース。ディスク上に永続性を持つインメモリデータベースであるため、バッチプロセスの状態へのアクセスは十分速くなければなりません。

+0

ありがとうございます。これは、固有のクラスタ固有の同期メカニズムがないという私の疑惑を確認しています。 Redisを指摘してくれてありがとう - 私はそれを調べます。 –

関連する問題