Activemq的简单使用

目标:在spring集成环境中,使用activemq服务,mq服务要求是集群的。单个mq服务的宕机,不能影响生产者推送消息到队列,也不能影响消费者从队列中消费消息。

方案:采用activemq官网提供的master/slave的模式
官网提供了三种实现方案,时间紧、任务重,选最简单的方式 Shared File System来实现。

 

该实验环境基于windows系统,详细步骤如下:

一、activemq的master/slave配置
该配置是activemq.xml
1、修改mq数据存储为共享存储路径,距离如下:
      
2、配置该mq服务为master/slave模式;
      a、给该mq起个单独的名字;
      b、指定mq数据的存储路径;
      c、使用jmx监控broker(即该mq服务,用以扫描当master挂掉之后,它是否应该从slave成为master);
      d、设置mq消息数据可持久化(用以master挂掉后,新升任的master可从持久数据中恢复未消费的mq消息);
      
       这一块的配置如下:
       

3、拷贝activemq安装包,修改mq监听端口;
     本次实验仅使用两个mq服务分别为61617、61618;
    
      activemq自带jetty容器提供管理界面,所以启动两个mq服务的话,jetty的端口也需要修改。在jetty.xml配置。另外,如果访问mq管理界面要求输入账号密码,则账号密码也是在这个配置里面。本实验未配置该账号密码。
     

二、在spring环境中使用activemq
1、配置jmsFactory


2、配置JMSTemplate


3、实现ServerProvider(消费者监听由它提供)

4、实现ActivemqConsummerAbstract
       它主要有两个功能:
        a、具体消费者类初始化后,自动放到activemq监听线程中;
        b、接收消息,并将该消息传递给具体的消费者类消费;
       
5、实现ActivemqProducerAbstract
     它的功能主要是调用jmsTemplate进行消息推送
    
6、简单类图说明如下:
     
7、最后测试类结构如下:
     
8、share file模式的master/slave的实验结论
      a、最先启动的activemq服务,会成为master;
      b、master对share file施加一个锁;
      c、后续启动的activemq服务将成为slave,该slave会不断进行扫描,期望获得share file的使用权。当master挂掉,释放掉对share file的锁后,某个slave将会成为master。
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值