Broker 事件監聽器

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.#");
}

您可以使用一般的 Spring 技術,在個別事件監聽器中進一步縮小接收到的事件範圍,如下例所示

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