程序化端点注册

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.