ActiveMQ: установить приоритет для сообщения не работает

У меня проблемы с установкой приоритетов сообщений через 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.

Так в чем же проблема? Что я делаю не так?

1 ответ

Решение

Приоритет сообщения всегда устанавливается производителем, который отправляет сообщение. Установщик класса позволит вам изменять значение только после получения сообщения и обычно используется только для модульного тестирования или преобразования сообщений между поставщиками. Чтобы установить приоритет сообщения для каждого сообщения, взгляните на различные методы отправки в интерфейсе MessageProducer.

Другие вопросы по тегам