0

EMS または Tibco のトピックで (JMS トピック サブスクライバーを使用して) メッセージの配信順序を制御する方法はありますか? メッセージ セレクターのようなものですが、並べ替えを行うためのフィルタリングではありません。

新しいメッセージの優先度が高くなるように、JMSXDeliveryCount のようなヘッダーを使用したいと考えています。RedeliveryDelay があることは知っていますが、これはキューに対してのみ機能し、トピックに対しては機能しません。

トピック サブスクライバーでメッセージを取得した後に設定できる場合は、JMSPriority でさえオプションになる可能性があります。それをしてもいいですか?多分Javaコード活動で?

4

2 に答える 2

0

ブローカーはメッセージを受信した順に配信しますが、メッセージの並べ替えは分散コンピューティング/EIP の問題です (シーケンサーを参照)。問題は、ブローカーがメッセージの受信数や、メッセージの並べ替えのためにウィンドウを開いたままにしておく時間を知らないことです。このアクティビティは、その情報が理解されるアプリケーション内のブローカーの外部で行うのが最適です。

EIP フレームワークと ESB は、このタイプのワークフローのハンドラーを標準化するという素晴らしい仕事をしました。

参照: EIP シーケンサーhttp://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageSequence.html

于 2016-12-12T15:21:34.583 に答える
0

JMSPriority は確かにオプションですが、既に受信したメッセージに設定することはできません。解決策は、メッセージを確認し、別の優先度で再公開することです。

于 2017-02-22T12:52:51.493 に答える