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