ActiveMq实践之排他性消费者

activemq支持的功能:排他性消费者
背景:
这个功能主要是为了解决jms集群的问题而提出的
当你使用product 产生一个消息并且放置到一个queue中的时候
如果说你使用了集群,并且每一个集群里面消费的队列都是刚才的那个队列
那么这个时候就会出现并发的时候 这么多集群
同时都消费了这个队列里面产生的消息,出现了重复的消费
一般的情况下碰到这个请求时候就只能在集群中使用一个jvm来关联到这个队列中
其他的服务器是不可以和那个队列相关联的,但是这样做也会存在一个错误的地方
那就是会造成一旦这个单独的jvm进程终止的话,就没有办法处理这个队列中的内容了
这样就失去了集群本来的含义了

排他性消费者:
针对以上的问题,activemq提出了排他性消费者这个功能,该功能支持你的集群中所有的
主机配置启动和运行都是一摸一样的,activmq会自动帮你找到一个主机当做是master,然后
使用的时候会把queue都让这个主机来消费,一旦这个主机down掉了以后那么就会自动的找其他的主机来做备份机,来消费这个消息
这个就很类似真正的集群了,或者说是实现了负载均衡策略

实例:
一般情况下排他性消费是使用在队列的后面加一个可选的属性来决定的,如下列的例子:

queue = new ActiveMQQueue("TEST.QUEUE?[color=red]consumer.exclusive=true[/color]");
consumer = session.createConsumer(queue);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值