此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring AMQP 4.0.2spring-doc.cadn.net.cn

编程式端点注册

RabbitListenerEndpoint 提供了 Rabbit 端点的模型,负责为该模型配置容器。基础设施允许您以编程方式配置端点,而不仅仅是通过 RabbitListener 注解自动检测到的端点。以下示例展示了如何实现这一点:spring-doc.cadn.net.cn

@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,但你同样可以构建自己的端点变体,以描述自定义的调用机制。spring-doc.cadn.net.cn

属性 idSimpleRabbitListenerEndpoint 定义的必需项。

需要注意的是,您也可以完全跳过使用 @RabbitListener,而通过 RabbitListenerConfigurer 以编程方式注册您的端点。spring-doc.cadn.net.cn