MQ (Message Queue)-сервер необходим для передачи сообщений между различными приложениями - компонентами системы. Он также важен для работы, как и сервер базы данных. В качестве MQ-сервера используется Apache ActiveMQ. Загрузите настроенную версию с нашего FTP ftp://ftp.bgbilling.ru/pub/bgbilling/. Загружать версию из каталога или в зависимости от вашей ОС.
Главный конфигурационный файл ActiveMQ, использующийся по умолчанию, находится в
. Логины и пароли расположены в файле .Обратите внимание на закомментированный фрагмент, в этом отрывке настраивается сеть серверов MQ - можно запустить несколько MQ-серверов, объединенных в одну сеть. При этом указывается имя сети (default).
<!-- <networkConnectors> <networkConnector uri="multicast://default" dynamicOnly="true" networkTTL="3" prefetchSize="1" decreaseNetworkConsumerPriority="true" /> </networkConnectors> -->
В ветке plugins указан параметр, при котором все сообщения, у которых истек timeToLive будут удаляться (по умолчанию они переносятся в очередь ActiveMQ.DLQ):
<!-- drop messages that have been sent to the DLQ --> <discardingDLQBrokerPlugin dropAll="true"/>
Ниже описывается использование системных ресурсов для NON_PERSISTENT, PERSISTENT-сообщений и временных очередей. При превышении данных ресурсов отправка сообщений будет замедлена:
<systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="128 mb"/> </memoryUsage> <storeUsage> <storeUsage limit="10 gb"/> </storeUsage> <tempUsage> <tempUsage limit="1 gb"/> </tempUsage> </systemUsage> </systemUsage>
В этом отрывке указывается тип коннектора для работы с сервером, интерфейс и порт:
<transportConnectors> <transportConnector name="nio" uri="nio://127.0.0.1:61616" discoveryUri="multicast://default"/> </transportConnectors>
К этому порту будут подключаться к серверу MQ приложения биллинговой системы. Если все компоненты биллинга установлены на одном сервере, то можно оставить значение
=nio://127.0.0.1:61616. Иначе нужно указать ip интерфейса, на который будут идти подключения или установить =nio://0.0.0.0:61616, чтобы порт был открыт на всех интерфейсах.Параметры подключения к серверу ActiveMQ указываются в каждом серверном приложении в .properties файле, например в
для сервера биллинга.mq.url=failover:(nio://127.0.0.1:61616) mq.user=bill mq.pswd=bgbilling
Для локальной машины
=failover:(nio://127.0.0.1:61616), для нескольких серверов (должна быть настроена поддержка сети серверов в каждом из MQ-серверов):mq.url=failover:(nio://mq1.core.provider.org:61616,nio://mq1.core.provider.org:61616)
В последнем случае подключение будет к случайному из списка, если подключение невозможно - идет попытка подключения к следующему указанному серверу MQ, и так пока не установится подключение. Если второй сервер играет роль "запасного" - например, он установлен на слабой машине и должен принять работу только, если прервется работа первого сервера, то можно указать, чтобы подключение не устанавливалось к случайному, а попытки шли в указанном порядке:
mq.url=failover:(nio://mq1.core.provider.org:61616,nio://mq1.core.provider.org:61616)?randomize=false
Убедитесь, что имя сервера с ActiveMQ указано в файле
. Имя сервера можно получить командой .Пример установки ActiveMQ версии 5.4.2 в каталог
.1) Перенесите каталог с ActiveMQ в /opt (
);2) Создайте символическую ссылку
ln -s /opt/apache-activemq-5.4.2/bin/linux-x86-32 /opt/apache-activemq-5.4.2/bin/linux
либо, если у вас 64х разрядная ОС
ln -s /opt/apache-activemq-5.4.2/bin/linux-x86-64 /opt/apache-activemq-5.4.2/bin/linux
3) Укажите в скрипте запуска
переменную . Например:# Java Application wrapper.java.command=/opt/java/jdk/bin/java
4) Создайте ссылку на службу.
ln -s /opt/apache-activemq-5.4.2/bin/linux/activemq /etc/init.d/activemq
Настройте автоматический запуск службы и запустите её. При работе на одной машине с приложениями биллинга служба должна стартовать раньше всех приложений биллинга (регулируется префиксом ссылки).
Логи выполнения хранятся в
и , по ним можно проследить безаварийный старт сервиса.Настройте системную переменную , указывающую на каталог установки ActiveMQ.
Перейдите в директорию
. Выполните . После выполнения в списке служб Windows должна появится служба ActiveMQ.Логи выполнения хранятся в
и , по ним можно проследить безаварийный старт сервиса.