收听RabbitMQ队列并获取有关事件

时间:2015-12-07 22:17:47

标签: java queue rabbitmq listener spring-amqp

我目前正在使用带有RabbitMQ的Spring AMQP开发一个Java应用程序,并希望监视我的队列并在发生某些事件时得到通知,例如

  • 元素已添加到队列
  • 元素已移除
  • 元素又在队列中( rollback )。

我怎样才能听到这样的事件,或者RabbitMQ做这些事情的方式是什么?

1 个答案:

答案 0 :(得分:0)

要从队列异步接收消息,请使用带注释的侦听器端点基础结构。简而言之,它允许您将托管bean的方法公开为Rabbit侦听器端点。

@Component
public class MyService {

    @RabbitListener(queues = "myQueue")
    public void processOrder(String data) {
        ...
    }

}

检查this 只要有消息被推送到队列myQueue processOrder方法被触发。

对于您的其他要求,您还可以使用spring events来监控对队列执行的任何操作。就在对队列执行任何操作之前,将触发相应的事件。