1、配置
为了使队列支持优先级设置,需要修改策略,如下:
<policyEntry queue=">" prioritizedMessages="true">
2、设置队列优先级
优先级设置方法有几种方式,不过我测试发现真正起效的还是设置消息生产者的优先级:
MessageProducer producer1 = session.createProducer(destination);
producer1.setPriority(1);
MessageProducer producer2 = session.createProducer(destination);
producer1.setPriority(2);
producer1.send(message);
producer2.send(message);
3、Spring+ActiveMq
结合Spring后,发送消息是使用JmsTemplate对象,不过该对象中的setPriority方法设置优先级同样不起作用,也需要在消息生产者上设置,如下:
<span style="white-space:pre"> </span>jmsTemplate.execute(new SessionCallback<Object>() {
@Override
public Object doInJms(Session session) throws JMSEx