2台の異なるマシン(N1とS1)で同じBWアプリケーションをホストしています。これらのアプリケーションはメッセージをキューに送信します。現在、このキューのレシーバは、2つの異なるマシン(N2とS2)でホストされているBEサービスです。TIBCO EMS:複数の受信者の場合の優先度の設定
N2とS2の両方がアクティブのときにN1からのメッセージを選択する必要があり、N2がダウンしているときだけS2によってピックする必要があります。 N2とS2の両方がアクティブである場合、S1から来る同じ方法のメッセージはS2によって選択されるべきであり、S2がダウンしているときだけN2によって選択されるべきである。
私はこれをどのように達成することができますか教えてください。
BE S2に逆あなたは、実装を詳しく説明していただけますか? メッセージセレクタで条件を指定することはできないため、このコードはどこで記述しますか?また、私のメッセージがN2 BEによって選択され、両方の条件が偽である場合、メッセージはどのようにS2 BEに送られますか? –
いいえ私はJMSメッセージセレクタを使用しているわけではありません。私は、カスタムJMSヘッダーを設定し、そのBWエンジンからそのBWエンジン(N1またはS1)を知り、N2またはS2のBEコードで処理するかどうかを決定するために、そのJMSヘッダーをBEコードで読み取ります。このコードは、おそらくプリプロセッサ内のBEコードに書き込まれると予想されます。 N2 BEがメッセージを受け取った場合、JMSヘッダー値を読み取り、値がN1であれば処理し、S1と表示されている場合はS2 BEエンジンが有効かどうかを確認します。 S2 BEエンジンが作動中の場合は処理しませんが、S2 BEエンジンが作動していなければ処理します。 –
N2とS2の両方がアクティブであり、メッセージ形式S1がN2によって選択されたと仮定します。この場合、私のN2は、S2によって選択されるようにメッセージを処理しない。しかし、メッセージはすでにN2で消費されているため(処理されていなくても)、S2のメッセージはどのように利用できますか? –