0

nmsを介してメッセージの優先順位を設定するのに問題があります。メッセージはキューに送信され、すべて問題ありませんが、優先度は無視されます。

私は次のコードを使用します:

message.NMSPriority = MsgPriority.High;

メッセージの優先度に設定した値に関係なく、ActiveMQブラウザーを使用すると、優先度が常に4に設定されていることがわかります。

また、次のような生のヘッダーを追加しようとしました。

message.Properties["priority"] = 2;
message.Properties["PRIORITY"] = 5;
message.Properties["NMSPriority"] = 7;
message.Properties["JMSPriority "] = 9;

しかし、それは役に立ちません。

属性も追加しました

prioritizedMessages="true"

activemq.xmlファイルに。また、ActiveMQブラウザーを介して手動で優先度の高いメッセージを送信できます。

では、どこに問題があるのでしょうか。私が間違っていることは何ですか?

4

1 に答える 1

2

メッセージの優先度は、メッセージを送信するプロデューサーによって常に設定されます。クラスのセッターは、メッセージを受信した後にのみ値を変更できるようにし、通常、単体テストまたはプロバイダー間のメッセージの変換にのみ使用されます。メッセージごとにメッセージの優先度を設定するには、MessageProducerインターフェイスのさまざまな送信メソッドを確認してください。

于 2011-10-13T10:51:55.747 に答える