entaxy-public/features/README.ru.md

158 lines
7.0 KiB
Markdown
Raw Normal View History

2021-09-06 17:46:59 +03:00
# Установка фич (features)
### Languages
[English](README.md)
### Введение
Для установки фич понадобятся несколько шагов.
Использовать Java 11+
2021-09-06 17:46:59 +03:00
### Шаг 1: Сборка проекта
Необходимо локально собрать корневой проект:
mvn install
#### Шаг 2: Настройка брокера, БД и менеджера артефактов.
При использовании докера запустите Артемис
sudo docker run --rm -p 8161:8161 -p 61616:61616 -e ARTEMIS_USERNAME=entaxy -e ARTEMIS_PASSWORD=entaxy --name=artemis1 -d vromero/activemq-artemis
И запустите постгрес
sudo docker run --name entaxy_db -p 5432:5432 -v /etc/timezone:/etc/timezone:ro -e POSTGRES_PASSWORD=entaxy -e POSTGRES_USER=entaxy -e POSTGRES_DB=cache -d postgres
или Майкрософт Сиквел
sudo docker run --name mssql -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=entaxy' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-CU8-ubuntu
`По умолчанию в проекте используется 2 базы данных: cache и esb_entaxy,`
`Названия баз данных прописаны в конфигурациях соединений с бд org.ops4j.datasource-entaxy.esb.*.cfg`
и осталось поднять nexus(необходимо для работы system-management)
sudo docker run -d -p 8081:8081 --name nexus sonatype/nexus3
Теперь смотрим админский пароль через команду:
docker exec nexus cat /nexus-data/admin.password
И далее заходим в админку через браузер на http://localhost:8081/.
По умолчанию для работы требуется создать пользователя entaxy/entaxy и maven репозиторий с названием entaxy.
На Docker Toolbox могут возникнуть ошибки из-за нехватки памяти, решается изменением выделения памяти при запуске`
docker run -d -p 8081:8081 --name nexus -e INSTALL4J_ADD_VM_PARAMS="-Xms2g -Xmx2g -XX:MaxDirectMemorySize=3g" sonatype/nexus3
#### Шаг 3: Подготовка и запуск карафа
Скопировать в карафовский etc следующие файлы из репозитория entaxy-framework\features\src\main\cfg\
jre.properties
org.apache.karaf.cellar.groups.cfg
Так же локальный нексус репозиторий необходимо добавить к стандартным репозиториям в файле org.ops4j.pax.url.mvn.cfg свойство org.ops4j.pax.url.mvn.repositories.`
`Пользователь и название репозитория прописано в конфигурационном файле ru.entaxy.esb.deployer.nexus.cfg.`
Запуск Apache Karaf 4.x или новее
karaf
Или запуск карафа с очисткой до первоначального состояния
karaf clean
## Шаг 4: Установка всех фич за один раз, используя командную строку карафа
shell:source <project-directory>/entaxy-framework/features/src/main/script/install.karaf
- После требуется проверить конфигурации соединений с бд в файлах org.ops4j.datasource-entaxy.esb.*.cfg
- Проверить адрес брокера в файле ru.entaxy.esb.cfg свойство ru.entaxy.esb.jms.url
- Проверить адрес брокера в файле init/entaxy-platform-connections.json коннекция "name": "entaxy-broker" в которой свойство url
2021-09-06 17:46:59 +03:00
- Заменить файл org.apache.karaf.cellar.groups.cfg
#### Шаг 4a: Или можно установить фичи вручную
Добавить необходимую фичу
2021-09-06 17:46:59 +03:00
feature:repo-add mvn:ru.entaxy.esb/karaf-features/$ESB_ENTAXY_VERSION/xml/features
2021-09-06 17:46:59 +03:00
Установить entaxy
2021-09-06 17:46:59 +03:00
feature:install entaxy-all
2021-09-06 17:46:59 +03:00
Добавить необходимую фичу base
2021-09-06 17:46:59 +03:00
feature:repo-add mvn:ru.entaxy.esb.platform.runtime/base/$ESB_ENTAXY_VERSION/xml/features
2021-09-06 17:46:59 +03:00
Установить base
2021-09-06 17:46:59 +03:00
feature:install base
2021-09-06 17:46:59 +03:00
Добавить необходимую фичу core
2021-09-06 17:46:59 +03:00
feature:repo-add mvn:ru.entaxy.esb.platform.runtime/core/$ESB_ENTAXY_VERSION/xml/features
2021-09-06 17:46:59 +03:00
Установить core
2021-09-06 17:46:59 +03:00
feature:install core
2021-09-06 17:46:59 +03:00
Добавить необходимую entaxy-uniform-service
2021-09-06 17:46:59 +03:00
feature:repo-add mvn:ru.entaxy.esb.platform.runtime.modules/uniform-service/$ESB_ENTAXY_VERSION/xml/features
2021-09-06 17:46:59 +03:00
Install entaxy-uniform-service
2021-09-06 17:46:59 +03:00
feature:install entaxy-uniform-service
2021-09-06 17:46:59 +03:00
Useful comand for dev
2021-09-06 17:46:59 +03:00
bundle:watch mvn:ru.entaxy.esb/esb/1.8
2021-09-06 17:46:59 +03:00
#### Шаг 5: Проверка доступности сервиса через браузер, используя следующий адрес.
Подразумевается использование настроек по умолчанию для карафовского PAX Web, который для http настроен на порт `8181`. Если Вы желаете использовать другой порт или https, то необходимо поменять настройки в `${KARAF_HOME}/etc/org.ops4j.pax.web.cfg`. Непосредственное продолжение адреса после имени хоста и номера порта (в примере ниже `cxf`) можно настроить в файле `org.apache.cxf.osgi.cfg`. (Для более подробной информации по PAX Web перейдите по ссылке [http://team.ops4j.org/wiki/display/paxweb/Pax+Web](http://team.ops4j.org/wiki/display/paxweb/Pax+Web))
[http://localhost:8181/cxf/system-management?wsdl](http://localhost:8181/cxf/system-management?wsdl)
2021-09-06 17:46:59 +03:00
#### Шаг 6: Запуск SOAPUI или Postman
Отправка POST запроса на адрес
http://localhost:8181/cxf/system-management
2021-09-06 17:46:59 +03:00
Тестовый запрос:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sys="http://www.entaxy.ru/system-management-service/">
<soapenv:Header/>
<soapenv:Body>
<sys:listTemplateRequest/>
</soapenv:Body>
</soapenv:Envelope>
2021-09-06 17:46:59 +03:00
## Автотесты
<https://learning.getpostman.com/docs/postman/collection_runs/command_line_integration_with_newman/>
#### Установка
npm install -g newman
#### Запуск
cd test
newman run "Entaxy Integration Tests.postman_collection.json" -e "entaxy dev proxy.postman_environment.json"
#### Запуск нагрузочных тестов через Jmeter
В тестах прописана система s1
2021-09-06 17:46:59 +03:00
* UNIFORM-SERVICE-CONNECTOR_SEND_GET_ACK.jmx - запись и чтение с подтверждением последовательно
* UNIFORM-SERVICE_SEND_GET_AСK_ASYNC.jmx - запись и чтение с подтверждением в параллельных потоках