В настоящее время мы разрабатываем приложение с использованием JMS и activemq (5.5.1).Мы хотели бы определить более высокий приоритет для некоторых сообщений, чтобы они сначала использовались.После установки производителя и потребителя (через JMSTemplate с помощью Spring (3.1)) приоритет работает не полностью.Действительно, когда мы «выключаем» потребителя и отправляем некоторые сообщения, приоритет сохраняется, но когда мы добавляем сообщения, когда потребитель включен, сообщения принимаются в том же порядке, в котором они были отправлены.
Конфигурация довольно проста:
Приоритет был активирован в файле конфигурации activemq:
<policyEntries>
<policyEntry queue=">" prioritizedMessages="true"/>
...
</policyEntries>
И QoS был включен в конфигурации шаблона производителя:
<bean id="jmsOCRTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory" />
<property name="defaultDestination" ref="destination_ocr" />
<property name="explicitQosEnabled" value="true" />
</bean>
КомуЧтобы отправить сообщение с высоким приоритетом, мы просто изменим свойство приоритета шаблона на стороне производителя:
template.setPriority(9);
Есть идеи?Это нормальное поведение или есть какая-то конфигурация, о которой мы бы забыли?