activemq事务与ack消息确认
来源:互联网 发布:淘宝论坛app官方下载 编辑:程序博客网 时间:2024/06/15 17:32
事务型消息发送端(生产端)
此处其它代码与普通式消息发送代码相似,只在以下几处有不同,首先在取得session时会声明事务开启“true”。
session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
然后在发送时会有一个动作:
producer.send(message);
System.out.println("send......" + Thread.currentThread().getId());
session.commit();
相应的在catch(Exception)时需要
catch (Exception e) {
e.printStackTrace();
try {
session.rollback();
} catch (Exception ex) {
}
}
事务型消息接收端(消费端)
在我们的接收端的createSession时也需要把它设为“事务开启”,此时请注意,生产和消费是在一个事务边界中的。
session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
然后在接收时会有一个动作:
try {
TextMessage tm = (TextMessage) message;
System.out.println("TranQConsumer receive message: " + tm.getText());
session.commit();
} catch (Exception e) {
e.printStackTrace();
try {
session.rollback();
} catch (Exception ex) {
}
此处其它代码与普通式消息发送代码相似,只在以下几处有不同,首先在取得session时会声明事务开启“true”。
session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
然后在发送时会有一个动作:
producer.send(message);
System.out.println("send......" + Thread.currentThread().getId());
session.commit();
相应的在catch(Exception)时需要
catch (Exception e) {
e.printStackTrace();
try {
session.rollback();
} catch (Exception ex) {
}
}
事务型消息接收端(消费端)
在我们的接收端的createSession时也需要把它设为“事务开启”,此时请注意,生产和消费是在一个事务边界中的。
session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
然后在接收时会有一个动作:
try {
TextMessage tm = (TextMessage) message;
System.out.println("TranQConsumer receive message: " + tm.getText());
session.commit();
} catch (Exception e) {
e.printStackTrace();
try {
session.rollback();
} catch (Exception ex) {
}
}
队列和订阅都是支持事务的。
在创建Session时,开发者不能指定除ACK_MODE列表之外的其他值.如果此session为事务类型,用户指定的ACK_MODE将被忽略,而强制使用"SESSION_TRANSACTED"类型;如果session非事务类型时,也将不能将 ACK_MODE设定为"SESSION_TRANSACTED",毕竟这是相悖的.
ACK_MODE有四种
- AUTO_ACKNOWLEDGE = 1 自动确认
- CLIENT_ACKNOWLEDGE = 2 客户端手动确认
- DUPS_OK_ACKNOWLEDGE = 3 自动批量确认
- SESSION_TRANSACTED = 0 事务提交并确认
欢迎加入我们的技术讨论群425783133
阅读全文
0 0
- activemq事务与ack消息确认
- ActiveMQ事务、异步发送、消息确认概念
- ActiveMQ推拉模型与消息ACK
- Activemq消息确认机制
- Activemq消息确认机制
- activemq消息确认机制
- Activemq消息确认机制
- spring activeMQ 整合(三): 确认机制ACK(收到消息后,应该有一个回应也就是确认答复)
- (六)RabbitMQ消息队列-消息任务分发与消息ACK确认机制(PHP版)
- ActiveMQ消息确认的问题
- ActiveMQ的消息接收确认
- RabbitMQ入门教程(十二):消息确认Ack
- ActiveMQ的设置消息时长,事务,确认机制 ,持久化(五)
- ActiveMq中Session的事务与消息过期
- ActiveMQ发送消息事务相关
- spring activeMQ 开启事物接收消息时自定义确认消息
- ActiveMQ消息传送及ACK机制详解(转)
- ActiveMQ消息传送机制以及ACK机制详解
- eclipse调试快捷键
- 编写一个js函数用来求一个数组中各元素之积
- C#高级篇 2
- Linux--信号
- Linux内核移植步骤
- activemq事务与ack消息确认
- Linux按键驱动程序设计(3)-按键操作硬件实现
- 清除浮动的方法
- Android点击View改变字体颜色和边框背景
- 有趣的JavaScript(一)---let、const与var命令的区别
- 伪类和伪元素的区别
- 查看基于Android 系统单个进程内存和CPU使用情况的几种方法
- [LeetCode] 450. Delete Node in a BST
- 在C语言中什么是语义错误??