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) {
    ...
}