以下是我的代码:
rabbitTemplate.setMandatory(true);
rabbitTemplate.setReturnCallback(new ReturnCallback() {
@Override
public void returnedMessage(Message message, int replyCode,
String replyText, String exchange, String routingKey) {
System.out.println("Received returnedMessage with result {}"
+ routingKey);
}
});
rabbitTemplate.setConfirmCallback(new ConfirmCallback() {
@Override
public void confirm(CorrelationData correlationData, boolean ack,
String cause) {
System.out
.println("*************************************************************************************"
+ ack);
//log.info("Received confirm with result {}", ack);
System.out.println("Message received by broker");
}
});
它不打印消息"经纪人收到的消息"。 帮助我任何一个人。在此先感谢!
答案 0 :(得分:0)
您还需要配置连接工厂以支持这些功能see the documentation。
对于返回的消息,必须将模板的必需属性设置为true,或者对于特定消息,mandatory-expression必须求值为true。此功能需要将
CachingConnectionFactory
属性设置为true的publisherReturns
...
对于Publisher Confirms(也称为Publisher Acknowledgements),模板需要
CachingConnectionFactory
将publisherConfirms
属性设置为true。...