プログラムによるエンドポイント登録
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);
}
}
前の例では、呼び出す実際の MessageListener
を提供する SimpleRabbitListenerEndpoint
を使用しましたが、独自のエンドポイントバリアントを構築してカスタム呼び出しメカニズムを記述することもできます。
SimpleRabbitListenerEndpoint の定義には id プロパティが必要です。 |
@RabbitListener
の使用を完全にスキップし、RabbitListenerConfigurer
を介してプログラムでエンドポイントを登録することもできることに注意してください。