entaxy-public/features/README.ru.md

7.0 KiB
Raw Blame History

Установка фич (features)

Languages

English

Введение

Для установки фич понадобятся несколько шагов.

Использовать Java 11+

Шаг 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
  • Заменить файл org.apache.karaf.cellar.groups.cfg

Шаг 4a: Или можно установить фичи вручную

Добавить необходимую фичу

feature:repo-add mvn:ru.entaxy.esb/karaf-features/$ESB_ENTAXY_VERSION/xml/features

Установить entaxy

feature:install entaxy-all

Добавить необходимую фичу base

feature:repo-add mvn:ru.entaxy.esb.platform.runtime/base/$ESB_ENTAXY_VERSION/xml/features

Установить base

feature:install base

Добавить необходимую фичу core

feature:repo-add mvn:ru.entaxy.esb.platform.runtime/core/$ESB_ENTAXY_VERSION/xml/features

Установить core

feature:install core

Добавить необходимую entaxy-uniform-service

feature:repo-add mvn:ru.entaxy.esb.platform.runtime.modules/uniform-service/$ESB_ENTAXY_VERSION/xml/features

Install entaxy-uniform-service

feature:install entaxy-uniform-service

Useful comand for dev

bundle:watch mvn:ru.entaxy.esb/esb/1.8.0

Шаг 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://localhost:8181/cxf/system-management?wsdl

Шаг 6: Запуск SOAPUI или Postman

Отправка POST запроса на адрес

http://localhost:8181/cxf/system-management

Тестовый запрос:

<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>

Автотесты

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

  • UNIFORM-SERVICE-CONNECTOR_SEND_GET_ACK.jmx - запись и чтение с подтверждением последовательно
  • UNIFORM-SERVICE_SEND_GET_AСK_ASYNC.jmx - запись и чтение с подтверждением в параллельных потоках