幾周前,我通過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的“進階”功能。
參考:The Pragmatic Integrator部落格上的JCG合作夥伴 Pascal Alma在一台計算機上運作多個ActiveMQ執行個體 。
翻譯自: https://www.javacodegeeks.com/2014/01/running-multiple-activemq-instances-on-one-machine.html