簡略化:
activemq にキューがあります。特定のメッセージがキューから読み取られると、そのプロセスが受信メッセージの処理を終了するまでキューをロックしたいと考えています。
詳細な説明:
多数のユーザーがいるシステムを使用しています。ユーザーがシステムで自分の状態 (プロファイル、ロール、アクセス、資産の所有権など) を変更するたびに、それらの変更でサードパーティ サーバーも更新する必要があります。そのサードパーティは私たちとは別のものであり、彼らが私に公開する API により、一度に 1 人のユーザーのみを更新でき、約 1 秒かかります。
ActiveMQ を使用して、メインの更新プロセスをサード パーティ システムの更新から切り離しています。
一晩に一度、何千ものユーザーの変更を含むフィード ファイルを受け取ります。これは重要なタスクであり、サード パーティの更新はそれほど時間に敏感ではないため、サード パーティの更新では同じテーブルから読み取る必要がある場合があるため、メイン プロセスは一括更新であるため、キューをロックする必要があります。つまり、メイン プロセスで変更した各ユーザーのメッセージを ActiveMQ に取得させたいのですが、メイン プロセスが完了するまで ActiveMQ にこれらのメッセージを保持させたいのです。
そうするための ActiveMQ の組み込みメカニズムはありますか?