1

weblogicでは、2つのJMSメッセージキューの間にメッセージブリッジを作成することができます。このブリッジの構成中に、メッセージフィルターを適用して、ブリッジがフィルターにのみ一致するメッセージをルーティングするようにすることができます。

Websphereで同じことを達成することは可能ですか?

具体的には、このシナリオを達成しようとしています。

メッセージを受信するソースキューが1つあります。各メッセージには、カスタムJMSプロパティが設定されます。ソースキューのメッセージを転送して、JMSプロパティとその値に基づいてキューを分離したいと思います。これは、フィルタリング付きのメッセージブリッジを使用して、WLSで簡単に設定できます。WASで同じことをするにはどうすればよいですか?

ありがとうSavio

4

3 に答える 3

0

を使用する必要がありますSIB Mediation

WAS情報センターには、必要なもののように見えるルーティングメディエーションの作成と呼ばれる例があります。

例の下部には、what to do nextそのメディエーションを使用するようにWASを構成する方法を説明するリンクがあります。

于 2013-01-31T13:34:26.423 に答える
0

カスタムコードを記述しないと(Aviramの回答に対するコメントに従って)、まったく同じことを実現することはできませんが、それでも同じ効果を実現することは可能です。

「ソースキュー」は、カスタムJMSプロパティに従って他の「個別のキュー」にメッセージを配信すると言います。これらの個別のキューでメッセージを処理するように構成されたMDB(メッセージ駆動型Bean)があると想定しています。

WebSphereでできることは、メッセージをフィルターに掛けたり、別々のキューに配布したりすることなく、「ソース・キュー」から直接これらのMDBにメッセージを配布することです。

これは、JMSメッセージセレクタを使用して管理されます。アクティベーション仕様の定義を使用して、すべてのMDBをソースキューにポイントできます。また、MDBごとに(メッセージのタイプごとに1つ)、WLSで使用するものと一致するJMSメッセージセレクターを定義します。このようにして、各メッセージには、フィルターがメッセージのプロパティと一致するMDBのみが配信されます。これにより、WLSの場合と同様に、メッセージが効果的にフィルタリング/さまざまなMDBに配信されます。

メッセージセレクターの構成の詳細(RADでの開発中、またはデプロイ時/展開時)は、infocenterで読むことができます。以下は、それがどのように見えるかについてのアイデアを与えるための引用です。

messageSelector

この属性は、メッセージ駆動型Beanが受信するメッセージを選択するために使用されるJMSメッセージセレクターを決定します。例えば:

JMSType='car' AND color='blue' AND weight>2500

セレクタ文字列は、JMSメッセージヘッダーのフィールドとメッセージプロパティのフィールドを参照できます。メッセージセレクタは、メッセージ本文の値を参照できません。

于 2013-02-05T21:41:48.720 に答える
0

記録として、最終的にアプリケーション内に独自のルーティングアルゴリズムを記述して、メッセージがクライアントごとに別々のキューに送信されるようにしました。このように、アプリサーバーの実装から独立しており、統合の取り組みはアプリサーバー間で同じです。つまり、統合クライアントごとにカスタムキューを追加します。

簡単に言うと、設定する必要のあるJMSカスタムプロパティを公開しました。公開された規則を使用して、キューを検索し、キューに応答を送信します。プロパティが設定されていない場合、すべてのメッセージをルーティングするためのデフォルトのキューが作成されます。プロパティが設定されていて、キューが見つからない場合、例外が発生し、処理が停止します。

これは私たちの目的に合っていました。それが役に立てば幸い...

于 2013-02-24T02:18:47.923 に答える