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

消息优先级始终由发送消息的生产者设置。类上的 setter 只允许您在收到消息后更改值,并且通常仅用于单元测试或在提供程序之间转换消息。要在每条消息的基础上设置消息优先级,请查看 MessageProducer 接口中的不同发送方法。

于 2011-10-13T10:51:55.747 回答