如何使用Spring Boot应用配置ActiveMQ专用使用者

时间:2018-12-03 12:24:43

标签: java spring spring-boot activemq

我想使用Spring Boot为ActiveMQ配置专用使用者 使用Java进行配置很容易

 queue = new ActiveMQQueue("TEST.QUEUE?consumer.exclusive=true");
 consumer = session.createConsumer(queue);

但是在Spring引导中,侦听器的配置如下。

 @JmsListener(destination = "TEST.QUEUE", containerFactory = "myFactory")
 public void receiveMessage(Object message) throws Exception {
    ......
 }

现在,如何使这个独家消费者成为可能?以下工作正常吗?

 @JmsListener(destination = "TEST.QUEUE?consumer.exclusive=true", containerFactory = "myFactory")
 public void receiveMessage(Object message) throws Exception {
    ......
 }

1 个答案:

答案 0 :(得分:0)

是的,它是这样工作的。

只需为org.apache.activemq.command.ActiveMQQueue构造函数设置一个断点,然后在调试模式下运行您的应用程序即可。
您会看到Spring Boot正在调用 new ActiveMQQueue("TEST.QUEUE?consumer.exclusive=true")对应于ActiveMQ官方文档: https://activemq.apache.org/exclusive-consumer

更重要的是,您可以转到ActiveMQ管理员并浏览此队列的活动使用者:现在,您将看到您的使用者的独占标志设置为true。