社区
Java EE
帖子详情
关于JMS的事务回滚问题
benluobo
2016-10-27 08:58:09
在Spring+JMS的设计里面,通过sessionTransacted=true可以满足jms的事务,但是这个事务说的是在消费者端,也就是消费不成功会消息会回滚再次被消费。
那有没有在发送端的回滚,假设应用程序第一步发送消息,第二步其他步骤,如果第二步成功,才真正提交到消息服务器,如果第二步失败,则不提交到消息服务器
这个发送端的事务应该如何配置?
...全文
275
3
打赏
收藏
关于JMS的事务回滚问题
在Spring+JMS的设计里面,通过sessionTransacted=true可以满足jms的事务,但是这个事务说的是在消费者端,也就是消费不成功会消息会回滚再次被消费。 那有没有在发送端的回滚,假设应用程序第一步发送消息,第二步其他步骤,如果第二步成功,才真正提交到消息服务器,如果第二步失败,则不提交到消息服务器 这个发送端的事务应该如何配置?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
HinanaiTenshi
2016-10-31
打赏
举报
回复
做不到,JMS规范里发送消息本身是一个同步无回执的动作,也就没有事务,只有成功和抛出异常两种结果。 1. 发送消息 2. 其他处理 为何不把1和2换个顺序然后放入普通事务里,其他处理的内容失败了就不发送消息。
benluobo
2016-10-31
打赏
举报
回复
有没有熟悉JMS的人来指点一下
benluobo
2016-10-27
打赏
举报
回复
有了解的高手知道么
JMS
入门Demo
ActiveMQ安装 : 1.下载:http://activemq.apache.org/download.html 最新Windows版本 2.配置jdk环境,解压ActiveMQ到本地 3.启动ActiveMQ服务器: 32位机 : 直接运行\bin\win32\activemq.bat 64位机 : 直接运行\bin\win64\activemq.bat 4.打开ActiveMQ消息管理后台系统 http://localhost:8161/admin/ 参考文章为 : HelloWorld : http://blog.csdn.net/baggio7095586/article/details/5708519 进阶 :http://haohaoxuexi.iteye.com/blog/1893038 helloworld阶段 : 一个发送消息的程序,一个接收消息的程序..实现最简单的
JMS
交流... 监听器阶段 : ⑴MessageListener,最简单的监听器..只是拿来监听接收信息的 ⑵SessionAwareMessageListener,有个session的参数..可以拿来对接收到的信息再做响应.. ⑶MessageListenerAdapter,将消息委托交给一个普通的java类来处理.. 转化器阶段 : 实现MessageConverter接口来转换
JMS
对象与java对象.. 其实在使用MessageListenerAdapter时,Spring默认为我们提供了SimpleMessageConverter转换器.. 事务(无代码): 在Spring整合
JMS
的应用中,如果我们要进行本地的事务管理的话非常简单,只需要在定义对应的消息监听容器时指定其sessionTransacted属性为true,如:
该属性值默认为false,这样
JMS
在进行消息监听的时候就会进行事务控制,当在接收消息时监听器执行失败时
JMS
就会对接收到的消息进行回滚, 对于SessionAwareMessageListener在接收到消息后发送一个返回消息时也处于同一事务下,但是对于其他操作如数据库访问等将不属于该事务控制。 数据库跟
JMS
挂钩的事务先别理..
一种基于
JMS
的分布式异步事务处理模型设计 (2010年)
传统的分布式事务处理技术在实际应用中存在着效率较低和网络环境复杂时可靠性较差等
问题
。文章提出了一种基于Java消息服务(Java Message Service,
JMS
)的分布式异步事务处理模型,该模型采用非阻塞的事务处理机制即异步事务处理,支持并行处理子事务和全局事务部分回滚、恢复,提高了事务处理效率,增强了系统的可靠性,为分布式应用系统在复杂网络环境下事务处理和长事务处理提供了一种较好的解决方案。
2小时学会Spring+Dubbo整合ActiveMQ消息队列
本课程全程使用目前比较流行的开发工具idea进行开发,涉及到目前互联网项目中最常用的高并发解决方案技术, 如 dubbo,redis,solr,freemarker,activeMQ,springBoot框架,微信支付,nginx负载均衡,电商活动秒杀,springSecurity安全框架,FastDFS分布式文件服务器,还会涉及到代码生成器, 前台的技术有angularJS和BootStrap框架,此课程内容丰富实战性强,如果你还是传统项目的开发人员,那你学完本课程会有很大的收获,让你的薪资上涨,5K以上,让你完全感受到了互联网思维带来的高并发解决方案的思路,如果你是开发的小白,建议你学完Spring,SpringMVC,MyBatis框架后再来学习本门课程,学完以后会让你完全体验到企业级开发的流程. 在职开发人员学完后会让你的薪资更高,让你更了解互联网是如何解决高并发 学完SSM框架的同学就可以学习,能让你切身感受到企业级开发环境目标1:理解消息中间件、
JMS
等概念目标2:掌握
JMS
点对点与发布订阅模式的收发消息目标3:掌握Spring
Jms
目标4:完成商品审核导入索引库目标5:完成商品删除移除索引库目标6: 完成商品审核生成商品详细页目标7: 完成商品删除完成删除商品详细页
Java事务设计策略.
infoq 迷你书最近阅读了InfoQ上的电子书<
>之后受益匪浅, 单独花了两周时间将其翻译了一下. 由于英语只是四级水准, 所以翻译内容中的不足之处也请见谅. 附件里第一份是翻译后的文档, 第二份是英文原文. 原文地址:http://www.infoq.com/minibooks/JTDS 下面列出文中映象深刻的几点: 事务模型的分类: 本地事务模式, 管理连接 编程式事务模式, 编程管理JTA事务 声明式事务模式, 以方法为单位,让容器使用配置信息来进行事务管理 最佳实践: 当为方法分配事务属性的时候,把类中对大部分方法最具限制性的属性作为类级别的默认属性, 然后再对有特殊需要的方法进行微调. 事务管理应该被包含在开始该事务的方法中. 因此,应该只让那些开启了新事务的方法去调用setRollbackOnly(). 如果一个方法需要一个事务环境但不负责对事务进行回滚的话,该方法应该使用Mandatory事务属性. X/Open XA 接口应该只被用于你想要在相同事务环境内协调多个资源(例如数据库或
JMS
消息)的情况.
14_
JMS
_Producer
14_
JMS
_生产者 将消息发送到队列:当发送多条消息时,它会变成一个事务,在发生错误时回滚。 在主题中发布消息。 “config.properties”中的主题和队列名称。
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章