当我用以下配置消息路由失败不会触发returncallback
@Configuration
public class RabbitMqConfig {
@Bean
RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory){
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setReturnsCallback(returned -> {
System.out.println("message = " + returned.getMessage());
System.out.println("exchange = " + returned.getExchange());
System.out.println("replyText = " + returned.getReplyText());
System.out.println("routingKey = " + returned.getRoutingKey());
System.out.println("replyCode = " + returned.getReplyCode());
});
return rabbitTemplate;
}
}
当我换成以下配置时就会生效,请指点原因
@Configuration
public class RabbitMqConfig {
@Autowired
RabbitTemplate rabbitTemplate;
@PostConstruct
void rabbitTemplate(){
rabbitTemplate.setReturnsCallback(returned -> {
System.out.println("message = " + returned.getMessage());
System.out.println("exchange = " + returned.getExchange());
System.out.println("replyText = " + returned.getReplyText());
System.out.println("routingKey = " + returned.getRoutingKey());
System.out.println("replyCode = " + returned.getReplyCode());
});
}
}