Инструкция по запуску сервиса ESB¶
Для работы обязательно требуется установленный .NET Framework версии 4.0 и выше.
Для запуска сервиса также требуется установленная Java.
Скачивание сервиса¶
1. Запросить архив ESB в отделе технической поддержки.
Важно: Groovy-маршруты (*.groovy) разрабатываются индивидуально для каждого клиента с учётом требований к интеграции
2. Извлечь файлы из архива в рабочий каталог, например:
Примерный состав каталога:
_ESB.exe— исполняемый файл WinSW для установки и запуска службы Windows;_ESB.xml— конфигурационный файл службы Windows;ediServiceBus.jar— JAR-файл сервиса ESB (название и версия файла могут отличаться по мере обновления сервиса);run.bat/run.cmd— файл для запуска сервиса в консольном режиме;*.groovy— Groovy-маршруты, реализующие логику обмена и обработки данных.
Основные параметры запуска¶
В параметрах запуска необходимо указать:
--spring.datasource.url- строка подключения к БД Oracle;--spring.datasource.username- логин пользователя БД;--spring.datasource.password- пароль пользователя БД;--spring.datasource.hikari.minimumIdle- минимальное количество простаивающих соединений в пуле;--spring.datasource.hikari.maximumPoolSize- максимальное количество соединений в пуле;--spring.datasource.hikari.connectionTimeout- максимальное время ожидания свободного соединения из пула, указывается в миллисекундах;--server.port- порт, на котором будет запущен сервис;--camel.rest.port- порт REST-компонентов Apache Camel;--esb.groovy.filesPath- путь к каталогу с Groovy-маршрутами;--spring.profiles.active- стандартный параметр Spring Boot, который активирует определённый профиль конфигурации.--logging.file.name- путь к файлу логирования
Например:
--spring.datasource.hikari.minimumIdle=2;--spring.datasource.hikari.maximumPoolSize=5;--spring.datasource.hikari.connectionTimeout=30000;--server.port=8102;--camel.rest.port=8102.
Пример строки подключения к БД Oracle:
Где:
DB_HOST- IP-адрес или имя сервера БД;1521- порт Oracle;DB_SID- инстанс БД;
Запуск в режиме приложения¶
Данный способ используется для ручного запуска ESB в консольном режиме.
1. Открыть на редактирование файл run.cmd или run.bat.
Если файл отсутствует, создать его в рабочем каталоге ESB.
2. Указать путь к каталогу сервиса, расположение JAR-файла и необходимые параметры запуска.
Пример файла run.cmd:
@echo off
chcp 65001
cd /d C:\ESB
java ^
-Xrs ^
-Xmx512m ^
-Dfile.encoding=UTF-8 ^
-jar "C:\ESB\ediServiceBus.jar" ^
--logging.file.name="C:\ESB\logs\_ESB.log" ^
--spring.profiles.active=oracle,test ^
--esb.group.id=ESB_GROUP_ID ^
--esb.groovy.filesPath=C:\ESB\scripts ^
--spring.datasource.url=jdbc:oracle:thin:@DB_HOST:1521:DB_SID ^
--spring.datasource.driver-class-name=oracle.jdbc.OracleDriver ^
--spring.datasource.hikari.data-source-properties."[v$session.program]"="${spring.application.name}_${esb.group.id}" ^
--spring.datasource.hikari.minimumIdle=2 ^
--spring.datasource.hikari.maximumPoolSize=5 ^
--spring.datasource.hikari.connectionTimeout=30000 ^
--spring.datasource.username=DB_USER ^
--spring.datasource.password=DB_PASSWORD ^
--camel.rest.port=8102 ^
--server.port=8102 ^
--server.max-http-header-size=256KB
pause
Где необходимо заменить:
C:\ESB— путь к рабочему каталогу сервиса;ediServiceBus.jar— название JAR-файла сервиса;DB_HOST— IP-адрес сервера БД;DB_SID— идентификатор инстанса БД Oracle;DB_USER— логин пользователя БД;DB_PASSWORD— пароль пользователя БД;C:\ESB\scripts— фактический путь к каталогу с Groovy-маршрутами;
3. Сохранить изменения.
4. Запустить run.cmd от имени администратора.
После успешного запуска сервис начнёт работу в консольном режиме.
При успешном запуске в консоли должно появиться сообщение вида:
Важно: при закрытии окна командной строки запущенный в нём процесс ESB завершит работу.
Создание службы Windows¶
Для запуска ESB в режиме службы Windows используется исполняемый файл _ESB.exe.
Важно: файл _ESB.xml должен находиться в одном каталоге с _ESB.exe.
Настройка конфигурации службы¶
1. Открыть на редактирование файл _ESB.xml.
2. Указать основные параметры службы Windows и параметры запуска ESB.
Пример файла _ESB.xml:
<?xml version="1.0" encoding="UTF-8"?>
<service>
<id>_ESB</id>
<name>_ESB for CWMS3000</name>
<description>Enterprise Service Bus</description>
<env name="ESB_HOME" value="%BASE%"/>
<env name="JAVA_HOME" value="C:\Program Files\Java\jdk-19.0.2"/>
<env name="Path" value="%JAVA_HOME%\bin;%Path%"/>
<executable>java</executable>
<arguments>
-Xrs
-Xmx512m
-Dfile.encoding=UTF-8
-jar "C:\ESB\ediServiceBus.jar"
--logging.file.name="C:\ESB\logs\_ESB.log"
--spring.profiles.active=oracle,test
--esb.group.id=ESB_GROUP_ID
--esb.groovy.filesPath=C:\ESB\scripts
--spring.datasource.url=jdbc:oracle:thin:@DB_HOST:1521:DB_SID
--spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
--spring.datasource.hikari.data-source-properties."[v$session.program]"="${spring.application.name}_${esb.group.id}"
--spring.datasource.hikari.minimumIdle=2
--spring.datasource.hikari.maximumPoolSize=5
--spring.datasource.hikari.connectionTimeout=30000
--spring.datasource.username=DB_USER
--spring.datasource.password=DB_PASSWORD
--camel.rest.port=8102
--server.port=8102
--server.max-http-header-size=256KB
</arguments>
<logpath>C:\ESB\logs\</logpath>
<log mode="roll-by-size">
<sizeThreshold>10240</sizeThreshold>
<keepFiles>8</keepFiles>
</log>
<delayedAutoStart>true</delayedAutoStart>
<onfailure action="restart" delay="20 sec"/>
<workingdirectory>C:\ESB</workingdirectory>
<priority>normal</priority>
</service>
В строке <arguments> необходимо заменить:
C:\ESB\ediServiceBus.jar— путь к фактическому JAR-файлу;DB_HOST— IP-адрес или имя сервера БД;DB_SID— идентификатор инстанса БД Oracle;DB_USER— логин пользователя БД;DB_PASSWORD— пароль пользователя БД;C:\ESB\scripts— путь к каталогу Groovy-маршрутов;
Также необходимо проверить значение JAVA_HOME и указать фактический путь к установленной Java.
3. Сохранить изменения в файле _ESB.xml.
Установка службы через WinSW¶
Убедиться, что файлы _ESB.exe и _ESB.xml находятся в одном каталоге, например:
Для файла _ESB.exe конфигурационный файл должен называться _ESB.xml.
1. Открыть командную строку от имени администратора.
2. Перейти в каталог с сервисом:
3. Выполнить установку службы:
После выполнения команды WinSW создаст службу Windows на основании параметров, указанных в файле _ESB.xml.
4. Запустить службу:
5. Проверить состояние службы:
Если служба установлена успешно, в списке служб Windows появится служба с именем, указанным в параметре <name> файла _ESB.xml.
В приведённом примере:
Важно: идентификатор службы и её отображаемое имя могут отличаться в зависимости от конфигурации. Обычно используется идентификатор _ESB.
Настройка учетной записи службы¶
1. Открыть список служб Windows. Для этого нажать Win + R и выполнить команду:
2. Найти созданную службу ESB.
3. Открыть свойства службы.
4. Перейти на вкладку Вход в систему.
5. Указать учетную запись с правами администратора, предназначенную для запуска службы.
6. Указать пароль учетной записи.
7. Сохранить изменения.
Важно: указанная учетная запись должна иметь необходимые права доступа к рабочему каталогу ESB, JAR-файлу, Groovy-маршрутам и каталогам журналов.
Запуск службы¶
После настройки учетной записи запустить службу ESB.
Запуск можно выполнить через Службы Windows или командную строку:
Для проверки состояния службы выполнить:
При успешном запуске состояние службы в Windows должно отображаться как Выполняется.
Также при успешном старте приложения в журнале логов ESB должно присутствовать сообщение вида:
Если служба запущена успешно, ESB работает в фоновом режиме.
Остановка и перезапуск службы¶
Для остановки службы выполнить:
Для перезапуска службы выполнить:
Для удаления установленной службы Windows выполнить: