RabbitListenerErrorHandler 的 Spring AMQP 全局配置

问题描述 投票:0回答:1

我想从

errorHandler
中删除
@RabbitListener(queues = "${service.queue.name}", errorHandler = "amqpExceptionHandler")
部分 注释,因为这对我所有的听众来说都很常见。

有没有办法为 RabbitListenerErrorHandler 设置全局配置?

@Component
public class AmqpExceptionHandler implements RabbitListenerErrorHandler {
    @Override
    public Object handleError(
        Message amqpMessage,
        org.springframework.messaging.Message<?> message,
        ListenerExecutionFailedException exception) {
        
        if (exception.getCause() instanceof MyException) {
            // some logic
        }
        throw exception;
    }
}
java spring spring-amqp spring-rabbit spring-context
1个回答
0
投票

可以通过元注释实现这一点:https://docs.spring.io/spring-amqp/reference/amqp/receiving-messages/async-annotation-driven/meta.html.

您可能需要重复大多数属性,以便自定义特定的侦听器方法,同时仅在注释中保留所有常见属性。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.