rabbitmq 消费者失败重试的配置
·
spring:
rabbitmq:
host:
port:
virtual-host: /shopping
username:
password:
listener:
simple:
prefetch: 1
acknowledge-mode: auto
retry:
initial-interval: 1000ms
enabled: true
multiplier: 1
max-attempts: 3
stateless: true
对于发送着配置是在 template 下的;消费者是配置了
listener 。
RabbitMQ 消息确认机制处理: 发送者消息确认-CSDN博客 参考。
业务中包含了 事务 stateless: true 改为 false 。
多次重试失败后,可以设置一个错误处理的交换机
例如: error.exchange
定义好,并绑定
@Configuration
public class ErrorConfig {
private final String routingKey = "errordirect";
private final String queue = "errordirect.queue";
private final String exchange = "errordirect.exchange";
@Bean
public DirectExchange errorExchange() {
return new DirectExchange(exchange);
}
@Bean
public Queue errorQueue() {
return new Queue(queue);
}
@Bean
public Binding errorBinding(DirectExchange errorExchange, Queue errorQueue) {
return BindingBuilder
.bind(errorQueue)
.to(errorExchange)
.with(routingKey);
}
public MessageRecoverer errorMessageRecoverer(RabbitTemplate rabbitTemplate) {
return new RepublishMessageRecoverer(rabbitTemplate,exchange,routingKey);
}
}
定义
更多推荐
所有评论(0)