Broker 事件監聽器

當啟用 事件交換外掛 時,如果您嚮應用程式上下文新增一個 BrokerEventListener 型別的 bean,它會發布選定的經紀人事件作為 BrokerEvent 例項,這些例項可以透過正常的 Spring ApplicationListener@EventListener 方法進行消費。事件由經紀人釋出到主題交換 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) {
    ...
}
© . This site is unofficial and not affiliated with VMware.