JMS的使用

本文详细介绍了MQ(消息队列)在实现异步调用及事务一致性管理中的优势与实践方法,包括如何在JMS消息处理后确保数据一致性,以及如何配置JMS session以提升效率。同时,文章还提到了如何防止消费者处理消息过慢导致的阻塞问题,并提供了解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]1. 何时使用MQ[/b]
如果仅仅是为了达到异步调用的目的,的确很多方式都可以实现,比如用某个数据库表作为queue,对这个数据库表进行插入删除操作即可。
MQ的优势在于他在高并发,可靠性和集群,负载均衡等方面做了很多工作。如果你的应用场景需要这些额外的功能,请考虑使用MQ实现异步。

2. 如何在JMS消息被处理成功后commit
首先想到的肯定是用XA事务,保证jms和其他ejb/jdbc处理事务一致性。但如果不想忍受xa的慢速,可以有变通的方式:
[url]http://activemq.apache.org/should-i-use-xa.html[/url]
至于jms采用trans-session还是no-trans-session with ack,建议采用trans-session,因为trans-session有rollback但是no-trans-session with ack没有unack……

3. slow consumer
参见:[url]http://hornetq.sourceforge.net/docs/hornetq-2.1.2.Final/user-manual/zh/html/flow-control.html[/url]
jms可以控制某个consumer一次接收多少message,接收的消息都会被锁住
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值