DBに複数行格納された巨大なファイルを処理する必要があるアプリケーションを開発しています。処理を複数の JMS クライアントに分割して、各クライアントが独自の共有を取得して個別に処理できるようにすることができます。すべての JMS クライアントがそれぞれの役割を完了したかどうかを判断するにはどうすればよいですか? すべての JMS クライアントがタスクを完了したら、処理フローの別のステップをトリガーする必要があります。JMS クライアントとして MDB を使用しています。
実際、データベースで個々のタスクのステータスを収集しています。しかし、そのようなマスターはありません。流れはこんな感じ。
システムの一部はファイルをチャンクで受け取り、DB に保持します。
次のステップでは、このファイルを N 個のパーティションに論理的に分割し、パーティションのメタ データを JMS メッセージとして送信します。
その後、JMS クライアントはファイルの一部を処理し、処理が完了すると、DB の別のテーブルでタスクのステータスを更新します。
しかし、次のステップをトリガーするにはどうすればよいでしょうか? 1 つの JMS クライアントは、他のすべてのクライアントが自分の役割を終えたことをどのように知ることができますか。または、どうすればここでマスターを雇うことができますか?