Так что в последнее время я не так часто веду блоггинг — просто очень занят. Но мое новогоднее решение состоит в том, чтобы немного больше публиковать в блогах информацию, с которой я часто сталкиваюсь, даже если это простые вещи, которые могут помочь некоторым людям.
Поэтому для этой записи я покажу быстрый способ запуска нескольких экземпляров JBoss A-MQ на одной машине. Причина, по которой возникает этот вопрос, заключается в том, что JBoss A-MQ включает в себя немного больше «готовых» готовых функций из коробки, чем обычное старое сообщество ActiveMQ . JBoss A-MQ — это готовая к выпуску защищенная версия ActiveMQ, которая упакована в Apache Karaf с некоторыми другими функциями, такими как консоль HawtIO (и многие другие).
Что происходит, когда люди пытаются симулировать более сложные сценарии развертывания в лабораторной среде или среде разработки, у них может не быть доступа к нескольким виртуальным машинам или машинам, чтобы попробовать полное развертывание в реальном мире. Поэтому они могут захотеть установить несколько брокеров на одну коробку. Это довольно просто, и все, что вам нужно сделать, это убедиться, что порты по умолчанию не конфликтуют. ПРИМЕЧАНИЕ: это не предназначено для развертывания производства !!! Не используйте этот способ для производства!
Вы можете стать довольно странным и настроить каждую дополнительную JVM A-MQ / Karaf с помощью команд администратора Karaf, но если вы хотите просто заставить что-то работать и хотите понять, где могут быть конфликты портов, проверьте это:
Загрузить JBoss A-MQ
Перейдите на портал поддержки Red Hat (или JBoss.org ) и загрузите копию JBoss A-MQ, которую вы хотите использовать. Обратите внимание, что эти биты одинаковы для любого веб-сайта, с которого вы загружаете, но вам нужна действующая подписка для использования в любых общих средах (все, кроме вашего ноутбука для разработки).
Для этого упражнения мы используем JBoss A-MQ 6.1 (имя файла jboss-a-mq-6.1.0.redhat-379.zip)
Установить в двух местах
Если мы хотим иметь двух отдельных брокеров JBoss A-MQ, давайте начнем с распаковки в два разных места:
1
2
|
~> unzip jboss-a-mq- 6.1 . 0 .redhat- 379 .zip -d amq01 ~> unzip jboss-a-mq- 6.1 . 0 .redhat- 379 .zip -d amq02 |
Теперь в каждом пути установки (например, ./amq01/jboss-a-mq-6.1.0.redhat-379), который мы назовем каталогом BASE брокера, найдите файлы в папке $ BASE / etc с именем users.properties . Раскомментируйте последнюю строку в этом файле, чтобы у нас был пользователь с правами администратора.
Сменить порты
Последний шаг, который нам нужно сделать, это изменить порты в установке для amq02, чтобы они не конфликтовали.
Нам нужно коснуться трех файлов, которые представляют собой PID конфигурации для служб, которые работают в контейнере.
-
1
etc
/org
.apache.karaf.management.cfg
В этом файле измените следующие свойства:
1
2
|
rmiRegistryPort = 1098 # default is 1099 rmiServerPort = 44445 # default is 44444 |
Обратите внимание, это измененные значения. Вы можете изменить их на что угодно.
-
1
etc
/org
.apache.karaf.shell.cfg
В этом файле измените следующие свойства:
1
|
sshPort = 8102 # default is 8101 |
-
1
etc
/system
.properties
И наконец, в этом файле отредактируйте:
1
2
3
|
org.osgi.service.http.port= 8182 # default is 8181 activemq.port = 61617 # default is 61616 activemq.jmx.url=service:jmx:rmi: ///jndi/rmi://localhost:1098/karaf-${karaf.name} |
Запустите своих брокеров
Иди и запусти своих брокеров с помощью скрипта $ BASE / bin / amq, и у тебя должно быть два работающих брокера без коллизий на портах.
Ссылка: | Запуск нескольких JVoss A-MQ JBoss на одной машине от нашего партнера JCG Кристиана Поста в блоге |