@Bean
public RabbitTemplate rabbitTemplate(CachingConnectionFactory factory) {
//若使用confirm-callback ,必须要配置publisherConfirms 为true
factory.setPublisherReturns(true);
//若使用return-callback,必须要配置publisherReturns为true
factory.setPublisherReturns(true);
RabbitTemplate rabbitTemplate = new RabbitTemplate(factory);
//使用return-callback时必须设置mandatory为true,或者在配置中设置mandatory-expression的值为true
rabbitTemplate.setMandatory(true); // 如果消息没有到exchange,则confirm回调,ack=false; 如果消息到达exchange,则confirm回调,ack=true
rabbitTemplate.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {
@Override
public void confirm(CorrelationData correlationData, boolean ack, String cause) {
if(ack){
System.out.println("消息发送成功:correlationData({}),ack({}),cause({})"+correlationData+":"+ack+":"+cause);
}else{
System.out.println("消息发送成功:correlationData({}),ack({}),cause({})"+correlationData+":"+ack+":"+cause);
}
}
}); //如果exchange到queue成功,则不回调return;如果exchange到queue失败,则回调return(需设置mandatory=true,否则不回回调,消息就丢了)
rabbitTemplate.setReturnsCallback(new RabbitTemplate.ReturnsCallback() {
@Override
public void returnedMessage(ReturnedMessage returnedMessage) {
System.out.println("消息丢失:exchange({}),route({}),replyCode({}),replyText({}),message:{}"+JSON.toJSONString(returnedMessage));
}
});
return rabbitTemplate;
}

最新文章

  1. undefined method `environment' for nil:NilClass when importing Bootstrap into rails
  2. Python线程通信
  3. Border-radius属性--设置圆角边框
  4. 恶心的sbt 超级慢--解决
  5. 解决删除域用户Exception from HRESULT: 0x80072030
  6. 如何通过PowerShell在Visual Studio的Post-build中预热SharePoint站点
  7. geotools
  8. ListToDataTable
  9. PHP面试题三
  10. IIC-BUS INTERFACE
  11. 第一章:关于Ehcache
  12. Oracle的问题的解决
  13. netty入门(一)
  14. 洛谷P3038 [USACO11DEC]牧草种植Grass Planting
  15. 【转】Linux下查看系统配置
  16. 浏览器唤起APP的功能
  17. JavaScript弹出窗口方法
  18. [阮一峰]Linux 守护进程的启动方法
  19. 转 php 5.3.6中php-fpm 配置
  20. jmeter处理带表单的接口请求

热门文章

  1. 微信小程序云开发-云存储-上传文件(word/excel/ppt/pdf)到云存储
  2. pytest框架
  3. 第七篇 -- photoshop cs6 激活
  4. ClickHouse与ES的优劣对比
  5. Qt-可编辑的ListView
  6. 在nodejs中利用 Proxy监听对象值的获取
  7. JUC学习笔记(一)
  8. Nature Cancer | 宋尔卫/苏士成团队揭示lncRNA调控巨噬细胞“双刃剑”作用新机制
  9. 985硕艰难转行Android之路 加面经分享
  10. 1day漏洞反推技巧实战(1)