程式設計方式的端點註冊

RabbitListenerEndpoint 提供了 Rabbit 端點的模型,並負責為該模型配置容器。除了透過 RabbitListener 註解檢測到的端點外,該基礎設施還允許您以程式方式配置端點。以下示例展示瞭如何實現:

@Configuration
@EnableRabbit
public class AppConfig implements RabbitListenerConfigurer {

    @Override
    public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) {
        SimpleRabbitListenerEndpoint endpoint = new SimpleRabbitListenerEndpoint();
		endpoint.setId("someRabbitListenerEndpoint");
        endpoint.setQueueNames("anotherQueue");
        endpoint.setMessageListener(message -> {
            // processing
        });
        registrar.registerEndpoint(endpoint);
    }
}

在前面的示例中,我們使用了 SimpleRabbitListenerEndpoint,它提供了要呼叫的實際 MessageListener,但您也可以構建自己的端點變體來描述自定義呼叫機制。

id 屬性對於 SimpleRabbitListenerEndpoint 定義是必需的。

應該注意的是,您可以完全跳過使用 @RabbitListener,並透過 RabbitListenerConfigurer 以程式方式註冊您的端點。

© . This site is unofficial and not affiliated with VMware.