天天看点

在一台机器上运行多个ActiveMQ实例

几周前,我通过Mule ESB解决方案再次开始使用Apache ActiveMQ作为JMS提供程序。 由于我使用ActiveMQ已经有几年了,所以我认为最好检查一些(新)功能,例如故障转移传输和其他群集功能 。 为了能够测试这些最后的东西,我需要在计算机上多次安装ActiveMQ。 幸运的是,虽然ActiveMQ网站上的文档非常少,但这并不是很难完成的。

第一步是下载并解压缩ActiveMQ软件包,我在〜/ develop / apache-activemq-5.8.0中做了。

要创建实例,我转到activeMQ主目录,并使用“ create”命令,如下所示:

cd develop/apache-activemq-5.8.0/
./bin/activemq create instanceA
./bin/activemq create instanceB
           

现在,如果执行“ ls -l”,将看到创建了两个子目录,即“ instanceA”和“ instanceB”。 由于两个实例都将使用默认端口,因此我们必须修改第二个实例的配置。 转到目录“ develop / apache-activemq-5.8.0 / instanceB / conf”,然后打开文件“ jetty.xml”,通过修改以下行以使Web控制台在端口“ 8162”可用:

<bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
  <property name="port" value="8162" />
</bean>
           

接下来,在同一目录中打开文件“ activemq.xml”,然后修改以下部分:

<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&wireformat.maxFrameSize=104857600"/>
  <transportConnector name="amqp" uri="amqp://0.0.0.0:5673?maximumConnections=1000&wireformat.maxFrameSize=104857600"/>
 </transportConnectors>
           

而已! 确保两个文件均已保存,并使用以下命令启动第一个实例:

cd ~/develop/apache-activemq-5.8.0/instanceA/bin
./instanceA console
           

打开一个新的控制台并运行以下命令:

cd /Users/pascal/develop/apache-activemq-5.8.0/instanceB/bin
./instanceB console
           
在一台机器上运行多个ActiveMQ实例

现在,您有两个彼此相邻运行的实例,可以开始测试ActiveMQ的“高级”功能。

参考:

The Pragmatic Integrator博客上的JCG合作伙伴 Pascal Alma在一台计算机上运行多个ActiveMQ实例 。

翻译自: https://www.javacodegeeks.com/2014/01/running-multiple-activemq-instances-on-one-machine.html