几周前,我通过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的“高级”功能。
翻译自: https://www.javacodegeeks.com/2014/01/running-multiple-activemq-instances-on-one-machine.html