プログラムによるエンドポイント登録

RabbitListenerEndpoint は Rabbit エンドポイントのモデルを提供し、そのモデルのコンテナーの構成を担当します。このインフラストラクチャを使用すると、RabbitListener アノテーションによって検出されるエンドポイントに加えて、プログラムでエンドポイントを構成できます。次の例は、その方法を示しています。

@Configuration
@EnableRabbit
public class AppConfig implements RabbitListenerConfigurer {

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

前の例では、呼び出す実際の MessageListener を提供する SimpleRabbitListenerEndpoint を使用しましたが、独自のエンドポイントバリアントを構築してカスタム呼び出しメカニズムを記述することもできます。

@RabbitListener の使用を完全にスキップし、RabbitListenerConfigurer を介してプログラムでエンドポイントを登録することもできることに注意してください。