因为发送方 发出消息后,不能确定broker一定收到了
所以在connection上加上事务属性, 发送方感知到发送失败,可以做其他处理(比如先在数据库记上一笔,后面补发此消息)
try{
connection.setTx()
doSend();
connection.setCommit();
} catch(Excection e){
// 记录没有发送成功
doRollback();
}
原文:https://www.cnblogs.com/yszzu/p/10328165.html