Проект

Общее

Профиль

Инструкция по запуску сервиса ESB

Для работы обязательно требуется установленный .NET Framework версии 4.0 и выше.

Для запуска сервиса также требуется установленная Java.

Скачивание сервиса

1. Запросить архив ESB в отделе технической поддержки.

Важно: Groovy-маршруты (*.groovy) разрабатываются индивидуально для каждого клиента с учётом требований к интеграции

2. Извлечь файлы из архива в рабочий каталог, например:

C:\ESB

Примерный состав каталога:

  • _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:

jdbc:oracle:thin:@DB_HOST:1521:DB_SID

Где:

  • 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 от имени администратора.

После успешного запуска сервис начнёт работу в консольном режиме.

При успешном запуске в консоли должно появиться сообщение вида:

Started Application in X.XXX seconds (JVM running for X.XXX)

Важно: при закрытии окна командной строки запущенный в нём процесс 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 находятся в одном каталоге, например:

C:\ESB

Для файла _ESB.exe конфигурационный файл должен называться _ESB.xml.

1. Открыть командную строку от имени администратора.

2. Перейти в каталог с сервисом:

cd /d C:\ESB

3. Выполнить установку службы:

_ESB.exe install

После выполнения команды WinSW создаст службу Windows на основании параметров, указанных в файле _ESB.xml.

4. Запустить службу:

_ESB.exe start _ESB.xml --no-elevate

5. Проверить состояние службы:

_ESB.exe status _ESB.xml

Если служба установлена успешно, в списке служб Windows появится служба с именем, указанным в параметре <name> файла _ESB.xml.

В приведённом примере:

_ESB for CWMS3000

Важно: идентификатор службы и её отображаемое имя могут отличаться в зависимости от конфигурации. Обычно используется идентификатор _ESB.

Настройка учетной записи службы

1. Открыть список служб Windows. Для этого нажать Win + R и выполнить команду:

services.msc

2. Найти созданную службу ESB.

3. Открыть свойства службы.

4. Перейти на вкладку Вход в систему.

5. Указать учетную запись с правами администратора, предназначенную для запуска службы.

6. Указать пароль учетной записи.

7. Сохранить изменения.

Важно: указанная учетная запись должна иметь необходимые права доступа к рабочему каталогу ESB, JAR-файлу, Groovy-маршрутам и каталогам журналов.

Запуск службы

После настройки учетной записи запустить службу ESB.

Запуск можно выполнить через Службы Windows или командную строку:

cd /d C:\ESB
_ESB.exe start

Для проверки состояния службы выполнить:

_ESB.exe status

При успешном запуске состояние службы в Windows должно отображаться как Выполняется.

Также при успешном старте приложения в журнале логов ESB должно присутствовать сообщение вида:

Started Application in X.XXX seconds (JVM running for X.XXX)

Если служба запущена успешно, ESB работает в фоновом режиме.

Остановка и перезапуск службы

Для остановки службы выполнить:

_ESB.exe stop

Для перезапуска службы выполнить:

_ESB.exe restart

Для удаления установленной службы Windows выполнить:

_ESB.exe uninstall

Экспортировать в PDF HTML TXT