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.