天天看點

在一台機器上運作多個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