Статьи

Запуск нескольких экземпляров ActiveMQ на одном компьютере

Несколько недель назад я снова начал использовать Apache ActiveMQ в качестве JMS- провайдера с моим решением Mule ESB . Так как я использовал ActiveMQ несколько лет назад, я подумал, что было бы неплохо проверить некоторые из (новых) функций, таких как отказоустойчивый транспорт и другие функции кластеризации . Чтобы протестировать эти последние вещи, мне понадобилось несколько установок ActiveMQ на моей машине. К счастью, это не очень сложно сделать, хотя документация по этому вопросу на сайте ActiveMQ довольно минимальна.

Первым шагом является загрузка и разархивирование пакета ActiveMQ, что я и сделал в ~ / development / apache-activemq-5.8.0.

Чтобы создать экземпляры, я захожу в домашний каталог activeMQ и использую команду «create» следующим образом:

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

Теперь, если вы выполните команду «ls -l», вы увидите, что создано два подкаталога: «instanceA» и «instanceB». Поскольку оба экземпляра будут использовать порты по умолчанию, мы должны изменить конфигурацию для второго экземпляра. Перейдите в каталог «velop / apache-activemq-5.8.0 / instanceB / conf »и откройте файл« jetty.xml », чтобы сделать веб-консоль доступной через порт« 8162 », изменив следующую строку:

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

Затем откройте файл ‘activemq.xml’ в том же каталоге и измените следующую часть:

1
2
3
4
5
<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>

Это оно! Убедитесь, что оба файла сохранены, и запустите первый экземпляр с:

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

Откройте новую консоль и выполните команды:

1
2
cd /Users/pascal/develop/apache-activemq-5.8.0/instanceB/bin
./instanceB console

Скриншот-2014-01-18-08-52-39

Теперь у вас есть два экземпляра, работающих рядом друг с другом, и вы можете начать тестировать «расширенные» функции ActiveMQ.