2016-09-09 14 views
2

ibmメッセージ・キューに関する次のタスクがあります。読み取り制限のあるメッセージ・キュー

入力キューQ1からメッセージを取得してメッセージをQ2に入れるアプリケーション(JMSクライアント)が存在します。 Q1にメッセージを送るアプリケーションクライアントがいくつかあります。クライアントは各メッセージの相関IDを指定します。アプリケーションはQ1から受信したメッセージからIDを取得し、新しい出力メッセージを作成し、取得したIDを追加してメッセージをQ2に入れます。次に、各クライアントは、相関IDに基づいて、独自のメッセージのみを取得します。

私の質問は以下のとおりです。

クライアントは任意のIDを指定していない場合、彼はキューからすべてのメッセージを読み取ります。相関IDが指定されていないときにキューを読み取ることを禁止する制限が必要です。

これは、ibmメッセージ・キューのみを使用して達成できますか? 他に提案がない場合。

答えて

4

返信キュー(Q2)に一時キューを使用することを検討しましたか?このパターンでは、各アプリケーションはそれ自身の使用のために一時的なキューを作成します。すべてのアプリケーションはQ1に入り、MQMDのReplyToQを一時キューの名前に設定します。

Q1のアプリケーション処理メッセージは、指定された相関IDを使用してすべてをQ2に配置するのではなく、指定されたReplyToQに応答を置きます。

このシナリオでは、誤ったアプリケーションが誤って意図しないキューからメッセージを消費するのを避ける必要があります。

関連する問題