activeMQ-07消息的事务

提到事务就会回想起,数据库的事务:ACID(原子性、一致性、隔离性、持续性);
当然activeMQ也是有事务支持的。
1)在前面的生产者代码里有体现如下:

//创建连接session;第一个参数为事务,第二个参数为签发机制。暂时选择默认,后续说明;
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

修改如下,这是开启事务

//创建连接session;第一个参数为事务,第二个参数为签发机制。暂时选择默认,后续说明;
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
//在session关闭之前需要配合提交,不然无法正常发布消息
session.commit();
session.close();
//出现异常
session.rollback();

2)消费者事务
消费者在创建session时

//创建连接session;第一个参数为事务,第二个参数为签发机制。
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
//消费者获取到消息后需要配合commit使用,不然消费被视为未消费;
session.commit();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容