跳到主要内容

Broker 事件监听器

DeepSeek V3 中英对照 Broker Event Listener

当启用 Event Exchange Plugin 时,如果你向应用程序上下文中添加一个类型为 BrokerEventListener 的 bean,它会将选定的 broker 事件发布为 BrokerEvent 实例,这些实例可以通过普通的 Spring ApplicationListener@EventListener 方法来消费。事件由 broker 发布到一个主题交换器 amq.rabbitmq.event,每个事件类型都有不同的路由键。监听器使用事件键来将 AnonymousQueue 绑定到交换器,以便监听器仅接收选定的事件。由于这是一个主题交换器,可以使用通配符(以及显式请求特定事件),如下例所示:

@Bean
public BrokerEventListener eventListener() {
return new BrokerEventListener(connectionFactory(), "user.deleted", "channel.#", "queue.#");
}
java

你可以使用常规的 Spring 技术进一步缩小在单个事件监听器中接收到的事件范围,如下例所示:

@EventListener(condition = "event.eventType == 'queue.created'")
public void listener(BrokerEvent event) {
...
}
java