如何使用Spring JMstemplate设置嵌入式ActiveMQ的消息优先级



我正在遵循此指南-https://spring.io/guides/gs/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
 }
})

但是这些消息是按照代码中的顺序发送的。我在这里缺少什么?

谢谢。

使用优先级时,有许多因素会影响消息的到达顺序。第一个问题是您是否启用优先支持,第二个问题是在您发送消息时在线上有一个消费者。

有许多良好的资源可用于使用ActiveMQ使用优先消息的信息,这是一个。请记住,如果您发送这些消息时有一个活跃的消费者在线上,那么经纪人将在他们到达时派遣它们,而消费者当然会以该顺序处理它们。

最新更新