首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

JMS的应用

2012-06-26 
JMS的使用1. 何时使用MQ如果仅仅是为了达到异步调用的目的,的确很多方式都可以实现,比如用某个数据库表作

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

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

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

热点排行