h1. Инструкция по запуску сервиса ESB +Для работы обязательно требуется установленный .NET Framework версии 4.0 и выше.+ Для запуска сервиса также требуется установленная Java. h2. Скачивание сервиса 1. Запросить архив ESB в "отделе технической поддержки":mailto:notify@cwms3000.ru?subject=Требуется%20установить%20ESB&body=Пришлите,%20пожалуйста,%20архив%20ESB%20. +Важно:+ Groovy-маршруты (@*.groovy@) разрабатываются индивидуально для каждого клиента с учётом требований к интеграции 2. Извлечь файлы из архива в рабочий каталог, например:
C:\ESB
Примерный состав каталога: * @_ESB.exe@ — исполняемый файл WinSW для установки и запуска службы Windows; * @_ESB.xml@ — конфигурационный файл службы Windows; * @ediServiceBus.jar@ — JAR-файл сервиса ESB (название и версия файла могут отличаться по мере обновления сервиса); * @run.bat@ / @run.cmd@ — файл для запуска сервиса в консольном режиме; * @*.groovy@ — Groovy-маршруты, реализующие логику обмена и обработки данных. h2. Основные параметры запуска В параметрах запуска необходимо указать: * @--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@ - инстанс БД; h2. Запуск в режиме приложения Данный способ используется для ручного запуска 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 завершит работу. h2. Создание службы Windows Для запуска ESB в режиме службы Windows используется исполняемый файл @_ESB.exe@. +Важно:+ файл @_ESB.xml@ должен находиться в одном каталоге с @_ESB.exe@. h3. Настройка конфигурации службы 1. Открыть на редактирование файл @_ESB.xml@. 2. Указать основные параметры службы Windows и параметры запуска ESB. Пример файла @_ESB.xml@:



    _ESB
    _ESB for CWMS3000
    Enterprise Service Bus

    
    
    

    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
    

    C:\ESB\logs\

    
        10240
        8
    

    true
    
    C:\ESB
    normal

В строке @@ необходимо заменить: * @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@. h3. Установка службы через 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 появится служба с именем, указанным в параметре @@ файла @_ESB.xml@. В приведённом примере:
_ESB for CWMS3000
+Важно:+ идентификатор службы и её отображаемое имя могут отличаться в зависимости от конфигурации. Обычно используется идентификатор @_ESB@. h3. Настройка учетной записи службы 1. Открыть список служб Windows. Для этого нажать @Win + R@ и выполнить команду:
services.msc
2. Найти созданную службу ESB. 3. Открыть свойства службы. 4. Перейти на вкладку *Вход в систему*. 5. Указать учетную запись с правами администратора, предназначенную для запуска службы. 6. Указать пароль учетной записи. 7. Сохранить изменения. +Важно:+ указанная учетная запись должна иметь необходимые права доступа к рабочему каталогу ESB, JAR-файлу, Groovy-маршрутам и каталогам журналов. h3. Запуск службы После настройки учетной записи запустить службу 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 работает в фоновом режиме. h3. Остановка и перезапуск службы Для остановки службы выполнить:

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

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

_ESB.exe uninstall