在同一台物理机上配置多个ActiveMq主程序

 

一 复制一份配置文件
   cd /var/activemq/  (第一个activemq的安装目录)

 

   cp -r conf conf1

 

二 修改配置文件
  1 修改activemq.xml
   cd conf1
   vi  activemq.xml
    
    #名称  
    brokerName="mq1" #不重复
    #数据存放文件
    <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb_1"/> #不重复
    </persistenceAdapter>
    
    #端口
    <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61617?maximumConnections=1000&amp;wireformat.maxFrameSize=104857600"/> #不重复
    </transportConnectors>
   
   修改管理端口
   vi jetty.xml
   <bean id="SecureConnector" class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
                    <property name="port" value="8162" />#不重复
                    <property name="keystore" value="file:${activemq.conf}/broker.ks" />
                    <property name="password" value="password" />
     </bean>
 
三 、复制一个新启动程序
    
    cd /var/activemq/bin
    cp activemq activemq1




四  修改启动程序配置
    vi activemq1
    
    修改如下
    
    修改程序id
    ACTIVEMQ_PIDFILE="$ACTIVEMQ_DATA/activemq1-`hostname`.pid" #加上区别,不能重复
    
    修改配置文件路径
    
    ACTIVEMQ_CONF="$ACTIVEMQ_BASE/conf1"   #指定到第一步复制的目录




端口
if [ -z "$ACTIVEMQ_QUEUEMANAGERURL" ]; then
      ACTIVEMQ_QUEUEMANAGERURL="--amqurl tcp://localhost:61617"#加上区别,不能重复
    fi




五 启动新的
   /var/activemq/bin/activemq1 start
   
 注意:如果启动第二个老是报错,配置又和本文说的一样,不防调整一下启动顺序看一看,说不定会有惊喜。
 
补充:
步骤如下:
1、把整个conf文件夹复制一份,比如叫conf2
2、修改里面的activemq.xml文件
①brokerName不能和原来的重复
②数据存放的文件名称不能重复,比如<kahaDB directory = "${activemq.data}/kahadb2"/>
③所有涉及的transportConnector的端口,都要和原来的不一样。注意不要超出端口的范围(0-65535)
3、修改jetty.xml,把里面的默认端口号8161改成别的,不如9161
4、到bin下面,复制一个activemq,比如叫activemq2
①修改程序的id,不能和原来的重复,ACTIVEMQ_PIDFILE="$ACTIVEMQ_DATA/activemq2.pid"
②修改配置文件路径ACTIVEMQ_CONF="$ACTIVEMQ_BASE/conf2"
③修改端口,tcp://localhost:61616把61616改成和activemq.xml里面的tcp端口一致。请注意,在activemq5.9.0版本中是这么修改。
但我使用的是最新的5.12.1版本,在activemq中找不到该tcp端口的配置,折腾了半天才发现该版本把这个配置挪到了env文件。
所以就需要拷贝一份env,比如就叫env2吧,然后再env2里面把61616改成和activemq.xml里面的tcp端口一致。
最后别忘了把activemq2里面对env的引用改成env2。ACTIVEMQ_CONFIGS="/etc/default/activemq $HOME/.activemqrc $ACTIVEMQ_HOME/bin/env2"


现在你可以到activemq的bin目录下分别执行./activemq start 和 ./activemq2 start 了。这两个broker服务应该能正常启动了。
再多说一句,如果发生启动异常,可以查看activemq的data目录下的日志,默认是activemq.log,如果有报错信息,就是在这个日志中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值