Broker 事件監聽器
啟用 事件交換外掛 後,如果將型別為 BrokerEventListener
的 Bean 新增到應用程式上下文中,它會將選定的 Broker 事件釋出為 BrokerEvent
例項,這些例項可以透過普通的 Spring ApplicationListener
或 @EventListener
方法使用。事件由 Broker 釋出到主題交換 amq.rabbitmq.event
,每個事件型別都有不同的路由鍵。 監聽器使用事件鍵,事件鍵用於將 AnonymousQueue
繫結到交換,以便監聽器僅接收選定的事件。 由於它是一個主題交換,因此可以使用萬用字元(以及顯式請求特定事件),如以下示例所示
@Bean
public BrokerEventListener eventListener() {
return new BrokerEventListener(connectionFactory(), "user.deleted", "channel.#", "queue.#");
}
您可以使用普通的 Spring 技術進一步縮小各個事件監聽器中收到的事件範圍,如以下示例所示
@EventListener(condition = "event.eventType == 'queue.created'")
public void listener(BrokerEvent event) {
...
}