ActiveMQ-сервер
MQ (Message Queue)-сервер необходим для передачи сообщений между различными приложениями - компонентами системы. Он также важен для работы, как и сервер базы данных. В качестве MQ-сервера используется Apache ActiveMQ. Загрузите настроенную версию с нашего FTP ftp://ftp.bgbilling.ru/pub/bgbilling/. Загружать версию из каталога linux или win в зависимости от вашей ОС.
Главный конфигурационный файл ActiveMQ, использующийся по умолчанию, находится в conf/activemq.xml. Логины и пароли расположены в файле credentials.properties.
Обратите внимание на закомментированный фрагмент, в этом отрывке настраивается сеть серверов 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 приложения биллинговой системы. Если все компоненты биллинга установлены на одном сервере, то можно оставить значение uri=nio://127.0.0.1:61616. Иначе нужно указать ip интерфейса, на который будут идти подключения или установить uri=nio://0.0.0.0:61616, чтобы порт был открыт на всех интерфейсах.
Параметры подключения к серверу ActiveMQ указываются в каждом серверном приложении в .properties файле, например в data/data.properties для сервера биллинга.
mq.url=failover:(nio://127.0.0.1:61616)mq.user=billmq.pswd=bgbillingДля локальной машины mq.url=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=falseLinux
Убедитесь, что имя сервера с ActiveMQ указано в файле /etc/hosts. Имя сервера можно получить командой uname -n.
Пример установки ActiveMQ версии 5.4.2 в каталог /opt.
1) Перенесите каталог с ActiveMQ в /opt (/opt/apache-activemq-5.4.2);
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/linux3) Укажите в скрипте запуска /opt/apache-activemq-5.4.2/bin/linux/wrapper.conf переменную wrapper.java.command. Например:
# 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Настройте автоматический запуск службы и запустите её. При работе на одной машине с приложениями биллинга служба должна стартовать раньше всех приложений биллинга (регулируется префиксом ссылки).
Логи выполнения хранятся в data/activemq.log и data/wrapper.log, по ним можно проследить безаварийный старт сервиса.
Windows
Настройте системную переменную ACTIVEMQ_HOME, указывающую на каталог установки ActiveMQ.
Перейдите в директорию ACTIVEMQ_HOME/bin/win32. Выполните InstallService.bat. После выполнения в списке служб Windows должна появится служба ActiveMQ.
Логи выполнения хранятся в data/activemq.log и data/wrapper.log, по ним можно проследить безаварийный старт сервиса.