程式化端點註冊
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
以程式設計方式註冊你的端點。