rabbitmq 事务消息

事务消息主要用在发送方

在connection上加上事务属性, 发送方感知到本地事务执行失败, 需要通知broker将先前已经接收到的消息rollback,不要发给后面的消费者, 满足强一致性的要求

try{
   connection.setTx()

 doSend(); //本地DB事务
  connection.setCommit();

} catch(Excection e){
  // 记录没有发送成功
   doRollback();

}

broker一旦确认收到消息,消费者的事务处理就与生产者没有关系了, broker进行重试确保消费者一定能够收到消息, 消费者进行消息确认和幂等处理

posted @ 2019-01-27 22:02  funny_coding  阅读(1366)  评论(0编辑  收藏  举报
build beautiful things, share happiness