7.0 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Установка фич (features)
Languages
Введение
Для установки фич понадобятся несколько шагов.
Использовать 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
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/featuresInstall entaxy-uniform-service
feature:install entaxy-uniform-serviceUseful comand for dev
bundle:watch mvn:ru.entaxy.esb/esb/1.8Шаг 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 - запись и чтение с подтверждением в параллельных потоках