Как установить приоритет сообщения для встроенного activeMQ, используя пружинный JmsTemplate? - PullRequest
0 голосов
/ 13 мая 2019

Я следую этому руководству- https://spring.io/guides/gs/messaging-jms/ У меня есть несколько сообщений с более высоким приоритетом, которые нужно отправить перед любым другим сообщением.

Я уже попробовал следующее -

jmsTemplate.execute(new ProducerCallBack(){
 public Object doInJms(Session session,MessageProducer producer){
   Message hello1 =session.createTextMessage("Hello1");
   producer.send(hello1, DeliveryMode.PERSISTENT,0,0); // <- low priority

   Message hello2 =session.createTextMessage("Hello2");
   producer.send(hello1, DeliveryMode.PERSISTENT,9,0);// <- high priority
 }
})

Но сообщения отправляются по порядку, как они есть в коде. Что мне здесь не хватает?

Спасибо.

1 Ответ

0 голосов
/ 13 мая 2019

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

Есть много хороших ресурсов для информации об использовании приоритетных сообщений с ActiveMQ, вот one .Имейте в виду, что если при отправке этих сообщений в сети есть активный потребитель, то брокер просто отправит их по мере их поступления, и потребитель, конечно, обработает их в этом порядке.

...