diff --git a/README.md b/README.md index db1a1254..2c63091f 100644 --- a/README.md +++ b/README.md @@ -7,151 +7,4 @@ Detailed documentation: [system description](documentation/entaxy_main.adoc).\ Installation instructions: [installation](documentation/installation/installation-table-of-contents.ru.adoc).\ Instructions for running tests for the universal -service: [tests](documentation/connectors/uniform-exchange-service/tests/postman.adoc). - -- **extras** - additional esb modules(Developed independently, installed separately.) - - **1c** - module for working with 1C - - **1c-exchange-service** - (Alexey Knyazev, Borodina Valeria) message processing module, service 1C - - **1c-exchange-endpoint** - soap-service 1C - - **1c-exchange-service-endpoint** - service soap-service 1C - - **connector** - stored in and out connectors at 1c-exchange-endpoint and 1c-exchange-service-endpoint - - **support** - support routers for connectors - - **1c-storage** - (Alexey Knyazev) liquibase module creating the necessary tables in the database for 1C - - **nsi** - (Alexey Knyazev, Borodina Valeria) module for nsi - - **nsi-soap** - (Alexey Knyazev) module with soap nsi - - **nsi-storage** - (Alexey Knyazev) liquibase module creating the necessary tables in the database for nsi - - **big-packet** - (Alexey Knyazev) big packet service - - **bridge** - (Mikhail Moiseev) bridge between different esb using brokers - - **db-connector-parent** - (Alexey Knyazev) connector to intermediate database - - **db-connector** - (Alexey Knyazev) connector to intermediate database, converts xml into java objects and - then saves it to the database via jpa, and also back - - **db-hyperjaxb3-naming-extension** - (Alexey Knyazev) - plugin for the hyperjaxb3 plugin that makes more - human-readable names for xsd generated columns and tables - - **file-archive-connector** - (Borodina Valeria) module for working with systems that work through the file - system (collects messages within an hour and collects them into an archive) - - **file-service** - (Alexey Knyazev) service for sending files via esb -- **features** - there should generally be one feature that pulls up features for individual components. Having - installed it, we install entaxy in Karaf -- **platform** - Content of a base entaxy - - **runtime** - Components required for launch and work of the platform - - **base** - starts before the bundles with a low startlevel or even enters the custom build of Karaf - - **branding** - logo creation entaxy - - **connecting** - infrastructure of adapters and connections - - **core** - core entaxy - - **initializer** - Initialization infrastructure on first startup, including checking, creating and running - the required system connections - - **storage-initializer** - (Mikhail Moiseev) everything related to data storage - - **management** - artifact management - - **modules** - additional modules entaxy - - **uniform-service** - uniform service - - **uniform-service-exchange-endpoint** - uniform soap-service - - **connector** - stored in and out connectors - - **support** - support routers for connectors -- **system** - (Andrey Filippov) the product(the module will subsequently be removed) - - **auth** - (Sergey Kryuchkov, Mikhail Moiseev) everything related to authorization, including bundles for specific - authorization schemes, a general interceptor for CXF, etc. - - **common** - common libraries - - **core** - the core of the system - - **dispatcher** - - - **events** - (Mikhail Moiseev) work with topics, our implementation of message delivery - - **permission** - (Mikhail Moiseev) permission - - **template** - (Borodina Valeria) work with templates to create profiles, connectors, etc. - - **error-handler** - (Sergey Kryuchkov) error handling routes and helper classes. - - **deployer** - (Borodina Valeria) everything related to the process of processing data from a gui, converting it - to a blueprint and deploying this blueprint to esb - - **cellar-deployer** - (Borodina Valeria) deploy blueprint to karaf cluster using cellar - - **deployer-api** - (Mikhail Moiseev, Borodina Valeria) interface deployer - - **nexus-deployer** - (Borodina Valeria) deploy generated blueprint to nexus - - **file-system-deployer** - (Mikhail Moiseev) deploy generated blueprints to filesystem - - **registry** - (Mikhail Moiseev) product-defined registries should contain systems, system-groups, services for - specific registry implementations - - **systems** - description of the external system in ours - - **system-groups** - groups of systems, generalized by some attribute - - **profile-commons** - can be connected by a connector to a communication point - - **processes** - - - **service** - this is the point of communication. (something deployed under CXF) - - **connectors** - something that links the profile to the point of communication - - **system-management** - (Borodina Valeria) management of systems, profiles and system connectors - - **transformer** - implementation of data transformations gui -> blueprint - - **test** - tests for postman - - - Use English in the repository! - - in the commit comments - - int the code - -## **Repository rules** - - Commits to the master are undesirable, but if you cannot do otherwise, warn colleagues in the general chat with a description of the reason. - -**short:** - -Feature branching - any development is carried out in separate branches (we branch from master / release) and then we -make a pull request. - -**full:** - -**Branches:** - -- *master* - develop branch, we do new branch from it and we merge into it - -- *release-* - stable release branch from it we do new branch in case of hotfix. - Release branch storage conditions: - - 1. customer pays for support - 2. our support for this release has not expired - 3. the customer did not switch to a new release - -- *feature-branch* - development branches, stored until checked out and merged with the target branch\ - Branch naming: - - * issue number from youtrack - * especially meaningful short name of the functional - -- *hotfix-branch* - branches for hotfixes, stored similarly *feature-branch*\ - Branch naming - prefix "hotfix-" further: - - * issue number from youtrack - * especially meaningful short name of the functional - -**Pull request** - -- **For fixes and minor improvements** we assign to reviewers: lead developer - *Alexey Knyazev* and *responsible - for functionality / interested parties* - responsible and interested can be found in the description of the project above. - -- **For major improvements** to the persons described above, add *Andrey Filippov* and *Sergey Starovoitenkov* - -If no more improvements are planned in the merge-directed branch, when creating a pull request, we mark **Close branch** - -**Camel Headers** - - Headers used for service purposes are named according to the HTTP manifest, i.e. with a capital letter through a dash. - Must start with "Entaxy-" - -**Configuration File Naming Format** - -**Connectors:**\ -_..._\ -examples \ -_project.1c.odata.in_\ -_project.rest1.in_ - -**Project configs (specific functionality):**\ -_._\ -examples\ -_project.audit_\ -_project2.informer_ - -**Extras modules:**\ -_._\ -examples\ -_ru.entaxy.eav_\ -_org.apache.mdm_ - -**Platform:**\ -_.._\ -examples\ -_ru.entaxy.esb.system.management_\ -_ru.entaxy.esb.system.bridge_ - +service: [tests](documentation/connectors/uniform-exchange-service/tests/postman.adoc). \ No newline at end of file diff --git a/README.ru.md b/README.ru.md index 81e24e87..5c95001c 100644 --- a/README.ru.md +++ b/README.ru.md @@ -5,144 +5,4 @@ Подробная документация: [описание системы](documentation/entaxy_main.adoc).\ Инструкция по установке: [установка](documentation/installation/installation-table-of-contents.ru.adoc).\ -Инструкция по запуску тестов для универсального коннектора: [тестирование](documentation/connectors/uniform-exchange-service/tests/postman.adoc). - -- **extras** - дополнительные модули шины, которые не входят в базовую поставку шины.(Разрабатывается независимо, устанавливается отдельно.) - - **1с** - модуль рaботы с 1с - - **1c-exchange-service** - (Алексей Князев, Бородина Валерия) модуль обработки сообщений, сервис 1с - - **1c-exchange-endpoint** - выставленный soap-сервис 1с - - **1c-exchange-service-endpoint** - выставленный служебный soap-сервис 1с - - **connector** - хранятся входящий и исходящий коннектор к 1c-exchange-endpoint и 1c-exchange-service-endpoint - - **support** - маршруты, которые нужны для корректной работы коннектора - - **1с-storage** - (Алексей Князев) модуль liquibase создания необходимых таблиц в бд для 1с - - **nsi** - (Алексей Князев, Бородина Валерия) модуль обработки сообщений nsi - - **nsi-soap** - (Алексей Князев) модуль с выставленным soap nsi - - **nsi-storage** - (Алексей Князев) модуль liquibase создания необходимых таблиц в бд для nsi - - **big-packet** - (Алексей Князев) сервис больших пакетов - - **bridge** - (Моисеев Михаил) мост между шинами с использованием брокеров - - **db-connector-parent** - (Алексей Князев) коннектор к промежуточной базе - - **db-connector** - (Алексей Князев) коннектор к промежуточной базе, преобразует xml в java объекты и потом через jpa сохраняет в бд, и также обратно - - **db-hyperjaxb3-naming-extension** - (Алексей Князев) - плагин для плагина hyperjaxb3 который делает более человекочитаемые имена для генерируемых из xsd столбцов и таблиц - - **file-archive-connector** - (Бородина Валерия) модуль для работы с системами, которые работают через файловую систему(собирает сообщения в течение часа и собирает их в архив) - - **file-service** - (Алексей Князев) сервис отправки файлов через шину -- **features** - там вообще должна быть одна фича, которая подтягивает фичи по отдельным компонентам. Установив ее мы и устанавливаем продукт в караф -- **platform** - Содержимое типовой поставки - - **runtime** - Компоненты необходимые для запуска и работы платформы - - **base** - То, что стартует до остальных бандлов с низким startlevel или вообще входит в кастомную сборку Карафа - - **branding** - создание логотипа entaxy - - **connecting** - инфраструктура адаптеров и коннекций - - **core** - ядро entaxy - - **initializer** - Инфраструктра инициализации при первом запуске, в том числе проверка, создание и запуск необходимых системных коннекций - - **storage-initializer** - (Моисеев Михаил) все, что относится к хранению данных с общей точки зрения - - **management** - управление артефактами - - **modules** - дополнительные модули entaxy - - **uniform-service** - Универсальный сервис - - **uniform-service-exchange-endpoint** - выставленный универсальный soap-сервис - - **uniform-service-exchange-service-endpoint** - выставленный универсальный служебный soap-сервис - - **connector** - хранятся входящий и исходящий коннектор - - **support** - маршруты, которые нужны для корректной работы коннектора -- **system** - (Андрей Филиппов) собственно, продукт(модуль впоследствии будет удален) - - **auth** - (Сергей Крючков, Моисеев Михаил) все, что относится к авторизации, включая бандлы для конкретных схем авторизации, общий интерсептор для CXF и т.д. - - **common** - общие библиотеки - - **core** - ядро системы, что там будет, пока сложно конкретизировать, но что-то наверняка будет - - **dispatcher** - - - **events** - (Моисеев Михаил) работа с топиками, наша реализация доставки сообщений - - **permission** - (Моисеев Михаил) права доступа - - **template** - (Бородина Валерия) работа с шаблонами для создания профилей, коннекторов и т д - - **error-handler** - (Сергей Крючков) маршруты для обработки ошибок и вспомогательные классы. - - **deployer** - (Бородина Валерия) все, что относится к процессу обработки данных из gui, их преобразования в blueprint и деплоя этого blueprint в шину - - **cellar-deployer** - (Бородина Валерия) деплой blueprint в кластер карафа с помощью cellar - - **deployer-api** - (Моисеев Михаил, Бородина Валерия) интерфейс deployer - - **nexus-deployer** - (Бородина Валерия) деплой сгенерированных blueprint в nexus - - **file-system-deployer** - (Моисеев Михаил) деплой сгенерированных blueprint в файловую систему - - **registry** - (Моисеев Михаил) реестры, определенные в продукте, должна содержать systems, system-groups, services для реализаций конкретных реестров - - **systems** - описание внешней системы в нашей. - - **system-groups** - группы систем, обобщённые по какому-либо признаку - - **profile-commons** - может быть связан коннектором с точкой коммуникации. - - **processes** - - - **service** - это точка коммуникации. (что-то, развернутое под CXF) - - **connectors** - нечто, что связывает профиль с точкой коммуникации - - **system-management** - (Бородина Валерия) управление системами, профилями и коннекторами систем - - **transformer** - видимо, друг deploer'а, реализация трансформаций данных gui -> blueprint - - **test** - тесты для postman - - - В репозитории использовать английский! - - в комментариях к коммитам - - в коде - -## **Правила работы с репозиторием** - - Коммиты в мастер глубоко нежелательны, но если нельзя поступить по-другому, предупредите коллег в общем чате с описанием причины. - -**Кратко:** - -Feature branching - любая разработка ведётся в отдельных ветках(бранчуемся от master/release) после чего делаем pull request. - - -**Полно:** - -**Ветки:** - -- *master* - develop ветка от неё бранчуемся, в неё сливаемся - -- *release-* - стабильная релизная ветка от неё бранчуемся в случае hotfix-ов. - Условия хранения релизной ветки: - - 1. заказчик платит за поддержку - 2. не истек срок нашей поддержки этого релиза - 3. заказчик не произвел переход на новый релиз - -- *feature-branch* - ветки разработок, хранится до проверки и слияния с целевой веткой - Именование веток: - - * номером задачи из youtrack - * особо осмысленным кратким названием функционала - -- *hotfix-branch* - ветки для hotfix-ов, хранится аналогично *feature-branch* - Именование веток - префикс "hotfix-" далее: - - * номер задачи из youtrack - * особо осмысленное краткое название исправления - -**Pull request** - -- **Для фиксов и мелких доработок** назначаем в рецензенты: ведущего разработчика - *Алексея Князева* и *ответственных за функционал/заинтересованных лиц* - ответственных и заинтересованных можно посмотреть в описании проекта выше. - -- **Для крупных доработок** к описанным выше лицам добавляем *Андрея Филиппова* и *Сергея Старовойтенкова* - -Если не планируется больше доработок в ветке направленной на мерж, при создании pull request-а помечаем **Close branch** - -**Camel заголовки** - - Заголовки используемые для служебных целей именуются в соответствии с HTTP манифестом, т.е. с большой буквы через тире. - Начинаться должны с "Entaxy-" - -**Формат именования конфигурационных файлов** - -**Коннекторы:**\ -_..._\ -примеры \ -_project.1c.odata.in_\ -_project.rest1.in_ - -**Проектные конфиги(специфическая функциональность):**\ -_._\ -примеры\ -_project.audit_\ -_project2.informer_ - -**Extras модули:**\ -_._\ -примеры\ -_ru.entaxy.eav_\ -_org.apache.mdm_ - -**Платформа:**\ -_.._\ -примеры\ -_ru.entaxy.esb.system.management_\ -_ru.entaxy.esb.system.bridge_ - - +Инструкция по запуску тестов для универсального коннектора: [тестирование](documentation/connectors/uniform-exchange-service/tests/postman.adoc). \ No newline at end of file diff --git a/distribution/entaxy-docker/ReadMe.md b/distribution/entaxy-docker/ReadMe.md new file mode 100644 index 00000000..1c7c1c3c --- /dev/null +++ b/distribution/entaxy-docker/ReadMe.md @@ -0,0 +1,141 @@ +## Docker compose для сборки и запуска Entaxy. + +Запуск локального окружения с несколькими docker контейнерами: +* Караф +* Брокер +* СУБД +* Менеджер артефактов + +Для начала клонируем репозиторий и переходим в корень проекта: +```bash +git clone +cd entaxy-framework +``` +Далее у нас есть разные варианты хранения необходимых для установки Entaxy артефактов. +### 1. Самый простой способ: локальный репозиторий артефактов включаеться в образ карафа. +В корневом POM находится профиль для деплоя артефактов в образ карафа: +```xml + + docker.file.repo + + + entaxy-maven-repo-file + file:./distribution/entaxy-docker/karaf/repo + + + +``` +Запускаем мевен деплой из корня проекта с этим профилем: +```bash +mvn deploy -P docker.file.repo +``` +И после успешной сборки запускаем контейнеры из директории проекта, в которой находится docker-compose.yml: +```bash +cd ./distribution/entaxy-docker +docker-compose up +``` +Или `docker compose up` для новых версий docker. +После запуска комманды мы будем видеть прогресс сборки образов, запуска контейнеров и логи запущенных приложений. Для остановки контейнеров достаточно нажать сочетание клавиш Ctrl+C или через команды запущенные из другого окна/вкладки терминала. +```bash +docker-compose stop +docker-compose start +``` +После запуска контейнеров открываем новый терминал и заходим в караф: +```bash +docker-compose exec karaf /opt/apache-karaf/bin/client +``` +или ssh клиент с дальнейшим вводом пароля (karaf) +```bash +ssh -p 8101 karaf@localhost +``` + +И в консоли карафа запускаем скрипт с установкой необходимых фич: +```bash +shell:source ./install.karaf +``` +Ждём окончания деплоя в караф. +(Не всегда полная установка проходит с первой попытки и тогда помогает повторный запуск `source install.karaf`) + +### 2. Reposilite: легковесный http репозиторий артефактов запускается в отдельном контейнере. +Комментируем в файле install.karaf строку начинающуюся с: +```bash +config:property-set -p org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories file:/opt/apache-karaf/repo +``` +И убираем комментарий в строке начинающейся: +```bash +#config:property-set -p org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories http://maven-repo/snapshots +``` + +Запускаем контейнеры из директории проекта, в которой находится docker-compose.yml: +```bash +cd ./distribution/entaxy-docker +docker-compose up +``` +Или `docker compose up` для новых версий docker. +После запуска комманды мы будем видеть прогресс сборки образов, запуска контейнеров и логи запущенных приложений. Для остановки контейнеров достаточно нажать сочетание клавиш Ctrl+C или через команды запущенные из другого окна/вкладки терминала. +```bash +docker-compose stop +docker-compose start +``` + +Для деплоя в reposilite добавляем учётные данные в конфигурацию мавена (`~/.m2/settings.xml`): +```xml + + + + entaxy-maven-repo + admin + aW7frfS9NPGrOnuNBMf9gyO0eXNRaCoOGtXHTcLU5akDFJ9ACiUJhgmZxlOKnLC5 + + + +``` +В корневом POM находится профиль для деплоя артефактов на сервер reposilite: +```xml + + docker.reposilite + + + entaxy-maven-repo + http://127.0.0.1:8081/snapshots + + + +``` +Запускаем мевен деплой из корня проекта с этим профилем: +```bash +mvn deploy -P docker.reposilite +``` +После успешной сборки открываем новый терминал и заходим в караф: +```bash +docker-compose exec karaf /opt/apache-karaf/bin/client +``` +или ssh клиент с дальнейшим вводом пароля (karaf) +```bash +ssh -p 8101 karaf@localhost +``` + +И в консоли карафа запускаем скрипт с установкой необходимых фич: +```bash +shell:source ./install.karaf +``` +Ждём окончания деплоя в караф. +(Не всегда полная установка проходит с первой попытки и тогда помогает повторный запуск `source install.karaf`) + + + +Также есть вариант с nexus +После старта получаем пароль для admin через команду: +`docker-compose exec nexus cat /nexus-data/admin.password`. +Через админку нужно разрешить анонимный деплой или настроить доступы. +Урл для install.karaf +`http://nexus:8081/repository/maven-snapshots/@id=local-nexus@snapshots@noreleases` + + + +Остановить все контейнеры +`docker-compose down` +Остановить и удалить хранилища с БД и репой +`docker-compose down -v` diff --git a/distribution/entaxy-docker/docker-compose.yml b/distribution/entaxy-docker/docker-compose.yml new file mode 100644 index 00000000..1837cf38 --- /dev/null +++ b/distribution/entaxy-docker/docker-compose.yml @@ -0,0 +1,78 @@ +version: '3' +services: + broker: + container_name: broker + image: vromero/activemq-artemis + restart: unless-stopped + environment: + - ARTEMIS_USERNAME=entaxy + - ARTEMIS_PASSWORD=entaxy + ports: + - 8161:8161 + - 61616:61616 + + db-postgres: + container_name: db-postgres +# image: postgres + build: ./postgres + restart: unless-stopped + volumes: + - db-vol:/var/lib/postgresql/data + # - /etc/localtime:/etc/localtime:ro + environment: + - POSTGRES_USER=entaxy + - POSTGRES_PASSWORD=entaxy + - POSTGRES_DB=cache + ports: + - 5432:5432 + + # db-mssql: + # container_name: db-mssql + # image: mcr.microsoft.com/mssql/server:2017-CU8-ubuntu + # restart: unless-stopped + # environment: + # - SA_PASSWORD=123mssql + # - ACCEPT_EULA=Y + # - POSTGRES_DB=cache + # ports: + # - 1433:1433 + +# nexus: +# container_name: nexus +# image: sonatype/nexus3 +# restart: unless-stopped +# volumes: +# - nexus-data:/nexus-data +# environment: +# - INSTALL4J_ADD_VM_PARAMS=-Xms2g -Xmx2g -XX:MaxDirectMemorySize=3g +# ports: +# - 8081:8081 + maven-repo: + container_name: maven-repo + build: ./reposilite +# image: dzikoysk/reposilite + restart: unless-stopped + volumes: + - nexus-data:/app/data + ports: + - 8081:80 + + karaf: +# image: apache/karaf:4.2.9 + build: + context: karaf/ + container_name: karaf +# environment: +# - ESB_ENTAXY_VERSION=1.8.0 +# - ESB_ENTAXY_MAVEN_REPO=http://nexus:8081/repository/maven-snapshots/@id=local-nexus@snapshots@noreleases + restart: unless-stopped + ports: + - 8101:8101 + - 8181:8181 + - 8080:8080 + +volumes: + db-vol: + driver: local + nexus-data: + driver: local \ No newline at end of file diff --git a/distribution/entaxy-docker/karaf/Dockerfile b/distribution/entaxy-docker/karaf/Dockerfile new file mode 100644 index 00000000..9f880b4c --- /dev/null +++ b/distribution/entaxy-docker/karaf/Dockerfile @@ -0,0 +1,13 @@ +FROM apache/karaf:4.2.9 + +COPY repo /opt/apache-karaf/repo +COPY init /opt/apache-karaf/etc/init + +COPY jre.properties /opt/apache-karaf/etc/ +COPY org.apache.karaf.cellar.groups.cfg /opt/apache-karaf/etc/ +COPY org.ops4j.datasource-entaxy.esb.cache.cfg /opt/apache-karaf/etc/ +COPY org.ops4j.datasource-entaxy.esb.db_connector.cfg /opt/apache-karaf/etc/ +COPY org.ops4j.datasource-entaxy.esb.storage.cfg /opt/apache-karaf/etc/ +COPY ru.entaxy.esb.cfg /opt/apache-karaf/etc/ +COPY ru.entaxy.esb.system.bridge.cfg /opt/apache-karaf/etc/ +COPY install.karaf /opt/apache-karaf/ diff --git a/distribution/entaxy-docker/karaf/init/entaxy-platform-connections.json b/distribution/entaxy-docker/karaf/init/entaxy-platform-connections.json new file mode 100644 index 00000000..25a80559 --- /dev/null +++ b/distribution/entaxy-docker/karaf/init/entaxy-platform-connections.json @@ -0,0 +1,54 @@ +{ + "connections": [ + { + "nodeType": "connection", + "uuid": "connection-uuid-1", + "name": "entaxy-file", + "adapterName": "fileAdapter", + "platform": true, + "pathParameter": "data/shared", + "properties": {}, + "options": { + "noop": true, + "fileName": "default.txt", + "allowNullBody": "true" + } + }, + { + "nodeType": "connection", + "uuid": "connection-uuid-2", + "name": "entaxy-broker", + "adapterName": "artemisAdapter", + "platform": true, + "pathParameter": "queue:entaxy.default", + "properties": { + "url": "(tcp://broker:61616)", + "username": "entaxy", + "password": "entaxy", + "maxConnections": "20", + "maxSessionsPerConnection": "100" + }, + "options": {} + }, + { + "nodeType": "connection", + "uuid": "connection-uuid-3", + "name": "entaxy-db-storage", + "adapterName": "postgresqlAdapter", + "platform": true, + "pathParameter": "entaxy.esb.storage", + "properties": {}, + "options": {} + }, + { + "nodeType": "connection", + "uuid": "connection-uuid-4", + "name": "entaxy-db-cache", + "adapterName": "postgresqlAdapter", + "platform": true, + "pathParameter": "entaxy.esb.cache", + "properties": {}, + "options": {} + } + ] +} diff --git a/distribution/entaxy-docker/karaf/install.karaf b/distribution/entaxy-docker/karaf/install.karaf new file mode 100644 index 00000000..ca2d47a6 --- /dev/null +++ b/distribution/entaxy-docker/karaf/install.karaf @@ -0,0 +1,21 @@ +ESB_ENTAXY_VERSION=1.8.0 + +echo "Maven repo=$ESB_ENTAXY_MAVEN_REPO, Version=$ESB_ENTAXY_VERSION" + +# docker.file.repo +config:property-set -p org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories file:/opt/apache-karaf/repo@id=local-repo@snapshots@noreleases,https://repo1.maven.org/maven2@id=central,https://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases,https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases +# docker.reposilite +#config:property-set -p org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories http://maven-repo/releases@id=local-releases@update=always,http://maven-repo/snapshots@id=local-snapshots@snapshots@noreleases@update=always,https://repo1.maven.org/maven2@id=central,https://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases,https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases + +feature:repo-add mvn:ru.entaxy.esb/karaf-features/$ESB_ENTAXY_VERSION/xml/features +echo "feature:install entaxy-all" +feature:install entaxy-all +feature:repo-add mvn:ru.entaxy.esb.platform.runtime/base/$ESB_ENTAXY_VERSION/xml/features +echo "feature:install base" +feature:install base +feature:repo-add mvn:ru.entaxy.esb.platform.runtime/core/$ESB_ENTAXY_VERSION/xml/features +echo "feature:install core" +feature:install core +feature:repo-add mvn:ru.entaxy.esb.platform.runtime.modules/uniform-service/$ESB_ENTAXY_VERSION/xml/features +echo "feature:install entaxy-uniform-service" +feature:install entaxy-uniform-service \ No newline at end of file diff --git a/distribution/entaxy-docker/karaf/jre.properties b/distribution/entaxy-docker/karaf/jre.properties new file mode 100644 index 00000000..3d884c73 --- /dev/null +++ b/distribution/entaxy-docker/karaf/jre.properties @@ -0,0 +1,725 @@ +################################################################################ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +# +# Java platform package export properties. +# +# Standard package set. Note that: +# - javax.transaction* is exported with a mandatory attribute +jre-1.6=\ + javax.accessibility, \ + javax.activation;version="1.1", \ + javax.activity, \ + javax.annotation;version="1.0", \ + javax.annotation.processing;version="1.0", \ + javax.crypto, \ + javax.crypto.interfaces, \ + javax.crypto.spec, \ + javax.imageio, \ + javax.imageio.event, \ + javax.imageio.metadata, \ + javax.imageio.plugins.bmp, \ + javax.imageio.plugins.jpeg, \ + javax.imageio.spi, \ + javax.imageio.stream, \ + javax.jws, \ + javax.jws.soap, \ + javax.lang.model, \ + javax.lang.model.element, \ + javax.lang.model.type, \ + javax.lang.model.util, \ + javax.management, \ + javax.management.loading, \ + javax.management.modelmbean, \ + javax.management.monitor, \ + javax.management.openmbean, \ + javax.management.relation, \ + javax.management.remote, \ + javax.management.remote.rmi, \ + javax.management.timer, \ + javax.naming, \ + javax.naming.directory, \ + javax.naming.event, \ + javax.naming.ldap, \ + javax.naming.spi, \ + javax.net, \ + javax.net.ssl, \ + javax.print, \ + javax.print.attribute, \ + javax.print.attribute.standard, \ + javax.print.event, \ + javax.rmi, \ + javax.rmi.CORBA, \ + javax.rmi.ssl, \ + javax.script, \ + javax.security.auth, \ + javax.security.auth.callback, \ + javax.security.auth.kerberos, \ + javax.security.auth.login, \ + javax.security.auth.spi, \ + javax.security.auth.x500, \ + javax.security.cert, \ + javax.security.sasl, \ + javax.sound.midi, \ + javax.sound.midi.spi, \ + javax.sound.sampled, \ + javax.sound.sampled.spi, \ + javax.sql, \ + javax.sql.rowset, \ + javax.sql.rowset.serial, \ + javax.sql.rowset.spi, \ + javax.swing, \ + javax.swing.border, \ + javax.swing.colorchooser, \ + javax.swing.event, \ + javax.swing.filechooser, \ + javax.swing.plaf, \ + javax.swing.plaf.basic, \ + javax.swing.plaf.metal, \ + javax.swing.plaf.multi, \ + javax.swing.plaf.synth, \ + javax.swing.table, \ + javax.swing.text, \ + javax.swing.text.html, \ + javax.swing.text.html.parser, \ + javax.swing.text.rtf, \ + javax.swing.tree, \ + javax.swing.undo, \ + javax.tools, \ + javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ + javax.xml, \ + javax.xml.bind;version="2.2.1", \ + javax.xml.bind.annotation;version="2.2.1", \ + javax.xml.bind.annotation.adapters;version="2.2.1", \ + javax.xml.bind.attachment;version="2.2.1", \ + javax.xml.bind.helpers;version="2.2.1", \ + javax.xml.bind.util;version="2.2.1", \ + javax.xml.crypto, \ + javax.xml.crypto.dom, \ + javax.xml.crypto.dsig, \ + javax.xml.crypto.dsig.dom, \ + javax.xml.crypto.dsig.keyinfo, \ + javax.xml.crypto.dsig.spec, \ + javax.xml.datatype, \ + javax.xml.namespace, \ + javax.xml.parsers, \ + javax.xml.soap;version="1.3", \ + javax.xml.stream;version="1.2", \ + javax.xml.stream.events;version="1.2", \ + javax.xml.stream.util;version="1.2", \ + javax.xml.transform, \ + javax.xml.transform.dom, \ + javax.xml.transform.sax, \ + javax.xml.transform.stax, \ + javax.xml.transform.stream, \ + javax.xml.validation, \ + javax.xml.ws;version="2.2", \ + javax.xml.ws.handler;version="2.2", \ + javax.xml.ws.handler.soap;version="2.2", \ + javax.xml.ws.http;version="2.2", \ + javax.xml.ws.soap;version="2.2", \ + javax.xml.ws.spi;version="2.2", \ + javax.xml.ws.wsaddressing;version="2.2", \ + javax.xml.ws.spi.http;version="2.2", \ + javax.xml.xpath, \ + org.ietf.jgss, \ + org.omg.CORBA, \ + org.omg.CORBA_2_3, \ + org.omg.CORBA_2_3.portable, \ + org.omg.CORBA.DynAnyPackage, \ + org.omg.CORBA.ORBPackage, \ + org.omg.CORBA.portable, \ + org.omg.CORBA.TypeCodePackage, \ + org.omg.CosNaming, \ + org.omg.CosNaming.NamingContextExtPackage, \ + org.omg.CosNaming.NamingContextPackage, \ + org.omg.Dynamic, \ + org.omg.DynamicAny, \ + org.omg.DynamicAny.DynAnyFactoryPackage, \ + org.omg.DynamicAny.DynAnyPackage, \ + org.omg.IOP, \ + org.omg.IOP.CodecFactoryPackage, \ + org.omg.IOP.CodecPackage, \ + org.omg.Messaging, \ + org.omg.PortableInterceptor, \ + org.omg.PortableInterceptor.ORBInitInfoPackage, \ + org.omg.PortableServer, \ + org.omg.PortableServer.CurrentPackage, \ + org.omg.PortableServer.POAManagerPackage, \ + org.omg.PortableServer.POAPackage, \ + org.omg.PortableServer.portable, \ + org.omg.PortableServer.ServantLocatorPackage, \ + org.omg.SendingContext, \ + org.omg.stub.java.rmi, \ + org.omg.stub.javax.management.remote.rmi, \ + org.w3c.dom, \ + org.w3c.dom.bootstrap, \ + org.w3c.dom.css, \ + org.w3c.dom.events, \ + org.w3c.dom.html, \ + org.w3c.dom.ls, \ + org.w3c.dom.ranges, \ + org.w3c.dom.stylesheets, \ + org.w3c.dom.traversal, \ + org.w3c.dom.views, \ + org.w3c.dom.xpath, \ + org.xml.sax, \ + org.xml.sax.ext, \ + org.xml.sax.helpers +# Standard package set. Note that: +# - javax.transaction* is exported with a mandatory attribute +jre-1.7=\ + javax.accessibility, \ + javax.activation;version="1.1", \ + javax.activity, \ + javax.annotation;version="1.0", \ + javax.annotation.processing;version="1.0", \ + javax.crypto, \ + javax.crypto.interfaces, \ + javax.crypto.spec, \ + javax.imageio, \ + javax.imageio.event, \ + javax.imageio.metadata, \ + javax.imageio.plugins.bmp, \ + javax.imageio.plugins.jpeg, \ + javax.imageio.spi, \ + javax.imageio.stream, \ + javax.jws, \ + javax.jws.soap, \ + javax.lang.model, \ + javax.lang.model.element, \ + javax.lang.model.type, \ + javax.lang.model.util, \ + javax.management, \ + javax.management.loading, \ + javax.management.modelmbean, \ + javax.management.monitor, \ + javax.management.openmbean, \ + javax.management.relation, \ + javax.management.remote, \ + javax.management.remote.rmi, \ + javax.management.timer, \ + javax.naming, \ + javax.naming.directory, \ + javax.naming.event, \ + javax.naming.ldap, \ + javax.naming.spi, \ + javax.net, \ + javax.net.ssl, \ + javax.print, \ + javax.print.attribute, \ + javax.print.attribute.standard, \ + javax.print.event, \ + javax.rmi, \ + javax.rmi.CORBA, \ + javax.rmi.ssl, \ + javax.script, \ + javax.security.auth, \ + javax.security.auth.callback, \ + javax.security.auth.kerberos, \ + javax.security.auth.login, \ + javax.security.auth.spi, \ + javax.security.auth.x500, \ + javax.security.cert, \ + javax.security.sasl, \ + javax.sound.midi, \ + javax.sound.midi.spi, \ + javax.sound.sampled, \ + javax.sound.sampled.spi, \ + javax.sql, \ + javax.sql.rowset, \ + javax.sql.rowset.serial, \ + javax.sql.rowset.spi, \ + javax.swing, \ + javax.swing.border, \ + javax.swing.colorchooser, \ + javax.swing.event, \ + javax.swing.filechooser, \ + javax.swing.plaf, \ + javax.swing.plaf.basic, \ + javax.swing.plaf.metal, \ + javax.swing.plaf.multi, \ + javax.swing.plaf.synth, \ + javax.swing.table, \ + javax.swing.text, \ + javax.swing.text.html, \ + javax.swing.text.html.parser, \ + javax.swing.text.rtf, \ + javax.swing.tree, \ + javax.swing.undo, \ + javax.tools, \ + javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ + javax.xml, \ + javax.xml.bind;version="2.2.1", \ + javax.xml.bind.annotation;version="2.2.1", \ + javax.xml.bind.annotation.adapters;version="2.2.1", \ + javax.xml.bind.attachment;version="2.2.1", \ + javax.xml.bind.helpers;version="2.2.1", \ + javax.xml.bind.util;version="2.2.1", \ + javax.xml.crypto, \ + javax.xml.crypto.dom, \ + javax.xml.crypto.dsig, \ + javax.xml.crypto.dsig.dom, \ + javax.xml.crypto.dsig.keyinfo, \ + javax.xml.crypto.dsig.spec, \ + javax.xml.datatype, \ + javax.xml.namespace, \ + javax.xml.parsers, \ + javax.xml.soap;version="1.3", \ + javax.xml.stream;version="1.2", \ + javax.xml.stream.events;version="1.2", \ + javax.xml.stream.util;version="1.2", \ + javax.xml.transform, \ + javax.xml.transform.dom, \ + javax.xml.transform.sax, \ + javax.xml.transform.stax, \ + javax.xml.transform.stream, \ + javax.xml.validation, \ + javax.xml.xpath, \ + org.ietf.jgss, \ + org.omg.CORBA, \ + org.omg.CORBA_2_3, \ + org.omg.CORBA_2_3.portable, \ + org.omg.CORBA.DynAnyPackage, \ + org.omg.CORBA.ORBPackage, \ + org.omg.CORBA.portable, \ + org.omg.CORBA.TypeCodePackage, \ + org.omg.CosNaming, \ + org.omg.CosNaming.NamingContextExtPackage, \ + org.omg.CosNaming.NamingContextPackage, \ + org.omg.Dynamic, \ + org.omg.DynamicAny, \ + org.omg.DynamicAny.DynAnyFactoryPackage, \ + org.omg.DynamicAny.DynAnyPackage, \ + org.omg.IOP, \ + org.omg.IOP.CodecFactoryPackage, \ + org.omg.IOP.CodecPackage, \ + org.omg.Messaging, \ + org.omg.PortableInterceptor, \ + org.omg.PortableInterceptor.ORBInitInfoPackage, \ + org.omg.PortableServer, \ + org.omg.PortableServer.CurrentPackage, \ + org.omg.PortableServer.POAManagerPackage, \ + org.omg.PortableServer.POAPackage, \ + org.omg.PortableServer.portable, \ + org.omg.PortableServer.ServantLocatorPackage, \ + org.omg.SendingContext, \ + org.omg.stub.java.rmi, \ + org.omg.stub.javax.management.remote.rmi, \ + org.w3c.dom, \ + org.w3c.dom.bootstrap, \ + org.w3c.dom.css, \ + org.w3c.dom.events, \ + org.w3c.dom.html, \ + org.w3c.dom.ls, \ + org.w3c.dom.ranges, \ + org.w3c.dom.stylesheets, \ + org.w3c.dom.traversal, \ + org.w3c.dom.views, \ + org.w3c.dom.xpath, \ + org.xml.sax, \ + org.xml.sax.ext, \ + org.xml.sax.helpers, \ + com.sun.nio.sctp +jre-1.8=\ + javax.accessibility, \ + javax.activity, \ + javax.annotation;version="1.0", \ + javax.annotation.processing;version="1.0", \ + javax.crypto, \ + javax.crypto.interfaces, \ + javax.crypto.spec, \ + javax.imageio, \ + javax.imageio.event, \ + javax.imageio.metadata, \ + javax.imageio.plugins.bmp, \ + javax.imageio.plugins.jpeg, \ + javax.imageio.spi, \ + javax.imageio.stream, \ + javax.jws, \ + javax.jws.soap, \ + javax.lang.model, \ + javax.lang.model.element, \ + javax.lang.model.type, \ + javax.lang.model.util, \ + javax.management, \ + javax.management.loading, \ + javax.management.modelmbean, \ + javax.management.monitor, \ + javax.management.openmbean, \ + javax.management.relation, \ + javax.management.remote, \ + javax.management.remote.rmi, \ + javax.management.timer, \ + javax.naming, \ + javax.naming.directory, \ + javax.naming.event, \ + javax.naming.ldap, \ + javax.naming.spi, \ + javax.net, \ + javax.net.ssl, \ + javax.print, \ + javax.print.attribute, \ + javax.print.attribute.standard, \ + javax.print.event, \ + javax.rmi, \ + javax.rmi.CORBA, \ + javax.rmi.ssl, \ + javax.script, \ + javax.security.auth, \ + javax.security.auth.callback, \ + javax.security.auth.kerberos, \ + javax.security.auth.login, \ + javax.security.auth.spi, \ + javax.security.auth.x500, \ + javax.security.cert, \ + javax.security.sasl, \ + javax.sound.midi, \ + javax.sound.midi.spi, \ + javax.sound.sampled, \ + javax.sound.sampled.spi, \ + javax.sql, \ + javax.sql.rowset, \ + javax.sql.rowset.serial, \ + javax.sql.rowset.spi, \ + javax.swing, \ + javax.swing.border, \ + javax.swing.colorchooser, \ + javax.swing.event, \ + javax.swing.filechooser, \ + javax.swing.plaf, \ + javax.swing.plaf.basic, \ + javax.swing.plaf.metal, \ + javax.swing.plaf.multi, \ + javax.swing.plaf.synth, \ + javax.swing.table, \ + javax.swing.text, \ + javax.swing.text.html, \ + javax.swing.text.html.parser, \ + javax.swing.text.rtf, \ + javax.swing.tree, \ + javax.swing.undo, \ + javax.tools, \ + javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ + javax.xml, \ + javax.xml.bind;version="2.2.8", \ + javax.xml.bind.annotation;version="2.2.8", \ + javax.xml.bind.annotation.adapters;version="2.2.8", \ + javax.xml.bind.attachment;version="2.2.8", \ + javax.xml.bind.helpers;version="2.2.8", \ + javax.xml.bind.util;version="2.2.8", \ + javax.xml.crypto, \ + javax.xml.crypto.dom, \ + javax.xml.crypto.dsig, \ + javax.xml.crypto.dsig.dom, \ + javax.xml.crypto.dsig.keyinfo, \ + javax.xml.crypto.dsig.spec, \ + javax.xml.datatype, \ + javax.xml.namespace, \ + javax.xml.parsers, \ + javax.xml.stream;version="1.2", \ + javax.xml.stream.events;version="1.2", \ + javax.xml.stream.util;version="1.2", \ + javax.xml.transform, \ + javax.xml.transform.dom, \ + javax.xml.transform.sax, \ + javax.xml.transform.stax, \ + javax.xml.transform.stream, \ + javax.xml.validation, \ + javax.xml.ws;version="2.2", \ + javax.xml.ws.handler;version="2.2", \ + javax.xml.ws.handler.soap;version="2.2", \ + javax.xml.ws.http;version="2.2", \ + javax.xml.ws.soap;version="2.2", \ + javax.xml.ws.spi;version="2.2", \ + javax.xml.ws.wsaddressing;version="2.2", \ + javax.xml.ws.spi.http;version="2.2", \ + javax.xml.xpath, \ + javafx.animation, \ + javafx.application, \ + javafx.beans, \ + javafx.beans.binding, \ + javafx.beans.property, \ + javafx.beans.property.adapter, \ + javafx.beans.value, \ + javafx.collections, \ + javafx.collections.transform, \ + javafx.concurrent, \ + javafx.css, \ + javafx.embed.swing, \ + javafx.embed.swt, \ + javafx.event, \ + javafx.fxml, \ + javafx.geometry, \ + javafx.print, \ + javafx.scene, \ + javafx.scene.canvas, \ + javafx.scene.chart, \ + javafx.scene.control, \ + javafx.scene.control.cell, \ + javafx.scene.effect, \ + javafx.scene.image, \ + javafx.scene.input, \ + javafx.scene.layout, \ + javafx.scene.media, \ + javafx.scene.paint, \ + javafx.scene.shape, \ + javafx.scene.text, \ + javafx.scene.transform, \ + javafx.scene.web, \ + javafx.stage, \ + javafx.util, \ + javafx.util.converter, \ + netscape.javascript, \ + org.ietf.jgss, \ + org.omg.CORBA, \ + org.omg.CORBA_2_3, \ + org.omg.CORBA_2_3.portable, \ + org.omg.CORBA.DynAnyPackage, \ + org.omg.CORBA.ORBPackage, \ + org.omg.CORBA.portable, \ + org.omg.CORBA.TypeCodePackage, \ + org.omg.CosNaming, \ + org.omg.CosNaming.NamingContextExtPackage, \ + org.omg.CosNaming.NamingContextPackage, \ + org.omg.Dynamic, \ + org.omg.DynamicAny, \ + org.omg.DynamicAny.DynAnyFactoryPackage, \ + org.omg.DynamicAny.DynAnyPackage, \ + org.omg.IOP, \ + org.omg.IOP.CodecFactoryPackage, \ + org.omg.IOP.CodecPackage, \ + org.omg.Messaging, \ + org.omg.PortableInterceptor, \ + org.omg.PortableInterceptor.ORBInitInfoPackage, \ + org.omg.PortableServer, \ + org.omg.PortableServer.CurrentPackage, \ + org.omg.PortableServer.POAManagerPackage, \ + org.omg.PortableServer.POAPackage, \ + org.omg.PortableServer.portable, \ + org.omg.PortableServer.ServantLocatorPackage, \ + org.omg.SendingContext, \ + org.omg.stub.java.rmi, \ + org.omg.stub.javax.management.remote.rmi, \ + org.w3c.dom, \ + org.w3c.dom.bootstrap, \ + org.w3c.dom.css, \ + org.w3c.dom.events, \ + org.w3c.dom.html, \ + org.w3c.dom.ls, \ + org.w3c.dom.ranges, \ + org.w3c.dom.stylesheets, \ + org.w3c.dom.traversal, \ + org.w3c.dom.views, \ + org.w3c.dom.xpath, \ + org.xml.sax, \ + org.xml.sax.ext, \ + org.xml.sax.helpers, \ + com.sun.nio.sctp, \ + sun.nio.ch, \ + com.sun.management +jre-9=\ + javax.accessibility, \ + javax.activation;version="1.2", \ + javax.activity, \ + javax.annotation;version="1.0", \ + javax.annotation.processing;version="1.0", \ + javax.crypto, \ + javax.crypto.interfaces, \ + javax.crypto.spec, \ + javax.imageio, \ + javax.imageio.event, \ + javax.imageio.metadata, \ + javax.imageio.plugins.bmp, \ + javax.imageio.plugins.jpeg, \ + javax.imageio.spi, \ + javax.imageio.stream, \ + javax.lang.model, \ + javax.lang.model.element, \ + javax.lang.model.type, \ + javax.lang.model.util, \ + javax.management, \ + javax.management.loading, \ + javax.management.modelmbean, \ + javax.management.monitor, \ + javax.management.openmbean, \ + javax.management.relation, \ + javax.management.remote, \ + javax.management.remote.rmi, \ + javax.management.timer, \ + javax.naming, \ + javax.naming.directory, \ + javax.naming.event, \ + javax.naming.ldap, \ + javax.naming.spi, \ + javax.net, \ + javax.net.ssl, \ + javax.print, \ + javax.print.attribute, \ + javax.print.attribute.standard, \ + javax.print.event, \ + javax.rmi, \ + javax.rmi.CORBA, \ + javax.rmi.ssl, \ + javax.script, \ + javax.security.auth, \ + javax.security.auth.callback, \ + javax.security.auth.kerberos, \ + javax.security.auth.login, \ + javax.security.auth.spi, \ + javax.security.auth.x500, \ + javax.security.cert, \ + javax.security.sasl, \ + javax.sound.midi, \ + javax.sound.midi.spi, \ + javax.sound.sampled, \ + javax.sound.sampled.spi, \ + javax.sql, \ + javax.sql.rowset, \ + javax.sql.rowset.serial, \ + javax.sql.rowset.spi, \ + javax.swing, \ + javax.swing.border, \ + javax.swing.colorchooser, \ + javax.swing.event, \ + javax.swing.filechooser, \ + javax.swing.plaf, \ + javax.swing.plaf.basic, \ + javax.swing.plaf.metal, \ + javax.swing.plaf.multi, \ + javax.swing.plaf.synth, \ + javax.swing.table, \ + javax.swing.text, \ + javax.swing.text.html, \ + javax.swing.text.html.parser, \ + javax.swing.text.rtf, \ + javax.swing.tree, \ + javax.swing.undo, \ + javax.tools, \ + javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ + javax.xml, \ + javax.xml.bind;version="2.3.0", \ + javax.xml.bind.annotation;version="2.3.0", \ + javax.xml.bind.annotation.adapters;version="2.3.0", \ + javax.xml.bind.attachment;version="2.3.0", \ + javax.xml.bind.helpers;version="2.3.0", \ + javax.xml.bind.util;version="2.3.0", \ + javax.xml.crypto, \ + javax.xml.crypto.dom, \ + javax.xml.crypto.dsig, \ + javax.xml.crypto.dsig.dom, \ + javax.xml.crypto.dsig.keyinfo, \ + javax.xml.crypto.dsig.spec, \ + javax.xml.datatype, \ + javax.xml.namespace, \ + javax.xml.parsers, \ + javax.xml.stream;version="1.2", \ + javax.xml.stream.events;version="1.2", \ + javax.xml.stream.util;version="1.2", \ + javax.xml.transform, \ + javax.xml.transform.dom, \ + javax.xml.transform.sax, \ + javax.xml.transform.stax, \ + javax.xml.transform.stream, \ + javax.xml.validation, \ + javax.xml.xpath, \ + javafx.animation, \ + javafx.application, \ + javafx.beans, \ + javafx.beans.binding, \ + javafx.beans.property, \ + javafx.beans.property.adapter, \ + javafx.beans.value, \ + javafx.collections, \ + javafx.collections.transformation, \ + javafx.concurrent, \ + javafx.css, \ + javafx.embed.swing, \ + javafx.embed.swt, \ + javafx.event, \ + javafx.fxml, \ + javafx.geometry, \ + javafx.print, \ + javafx.scene, \ + javafx.scene.canvas, \ + javafx.scene.chart, \ + javafx.scene.control, \ + javafx.scene.control.cell, \ + javafx.scene.effect, \ + javafx.scene.image, \ + javafx.scene.input, \ + javafx.scene.layout, \ + javafx.scene.media, \ + javafx.scene.paint, \ + javafx.scene.shape, \ + javafx.scene.text, \ + javafx.scene.transform, \ + javafx.scene.web, \ + javafx.stage, \ + javafx.util, \ + javafx.util.converter, \ + netscape.javascript, \ + org.ietf.jgss, \ + org.omg.CORBA, \ + org.omg.CORBA_2_3, \ + org.omg.CORBA_2_3.portable, \ + org.omg.CORBA.DynAnyPackage, \ + org.omg.CORBA.ORBPackage, \ + org.omg.CORBA.portable, \ + org.omg.CORBA.TypeCodePackage, \ + org.omg.CosNaming, \ + org.omg.CosNaming.NamingContextExtPackage, \ + org.omg.CosNaming.NamingContextPackage, \ + org.omg.Dynamic, \ + org.omg.DynamicAny, \ + org.omg.DynamicAny.DynAnyFactoryPackage, \ + org.omg.DynamicAny.DynAnyPackage, \ + org.omg.IOP, \ + org.omg.IOP.CodecFactoryPackage, \ + org.omg.IOP.CodecPackage, \ + org.omg.Messaging, \ + org.omg.PortableInterceptor, \ + org.omg.PortableInterceptor.ORBInitInfoPackage, \ + org.omg.PortableServer, \ + org.omg.PortableServer.CurrentPackage, \ + org.omg.PortableServer.POAManagerPackage, \ + org.omg.PortableServer.POAPackage, \ + org.omg.PortableServer.portable, \ + org.omg.PortableServer.ServantLocatorPackage, \ + org.omg.SendingContext, \ + org.omg.stub.java.rmi, \ + org.omg.stub.javax.management.remote.rmi, \ + org.w3c.dom, \ + org.w3c.dom.bootstrap, \ + org.w3c.dom.css, \ + org.w3c.dom.events, \ + org.w3c.dom.html, \ + org.w3c.dom.ls, \ + org.w3c.dom.ranges, \ + org.w3c.dom.stylesheets, \ + org.w3c.dom.traversal, \ + org.w3c.dom.views, \ + org.w3c.dom.xpath, \ + org.xml.sax, \ + org.xml.sax.ext, \ + org.xml.sax.helpers, \ + com.sun.nio.sctp, \ + sun.nio.ch, \ + com.sun.management +jre-10=${jre-9} +jre-11=${jre-10} \ No newline at end of file diff --git a/distribution/entaxy-docker/karaf/org.apache.karaf.cellar.groups.cfg b/distribution/entaxy-docker/karaf/org.apache.karaf.cellar.groups.cfg new file mode 100644 index 00000000..8fc03b51 --- /dev/null +++ b/distribution/entaxy-docker/karaf/org.apache.karaf.cellar.groups.cfg @@ -0,0 +1,68 @@ +# +# This property stores the cluster groups for which the local node is member +# +groups = default + +# +# Filtering of the bundles in the default cluster group +# +default.bundle.whitelist.inbound=* +default.bundle.whitelist.outbound=* +default.bundle.blacklist.inbound=none +default.bundle.blacklist.outbound=none + +# +# Filtering of the configurations in the default cluster group +# +default.config.whitelist.inbound=* +default.config.whitelist.outbound=* +default.config.blacklist.inbound=org.apache.felix.fileinstall*, \ + org.apache.karaf.management, \ + org.apache.karaf.shell, \ + org.ops4j.pax.web, \ + org.apache.aries.transaction, \ + org.ops4j.pax.logging, \ + org.apache.karaf.cellar.node, \ + org.apache.karaf.cellar.groups.cfg +default.config.blacklist.outbound=org.apache.felix.fileinstall*, \ + org.apache.karaf.management, \ + org.apache.karaf.shell, \ + org.ops4j.pax.web, \ + org.apache.aries.transaction, \ + org.ops4j.pax.logging, \ + org.apache.karaf.cellar.node, \ + org.apache.karaf.cellar.groups.cfg + + +# +# Filtering of the features in the default cluster group +# +default.feature.whitelist.inbound=* +default.feature.whitelist.outbound=* +default.feature.blacklist.inbound=none +default.feature.blacklist.outbound=none + +# +# The following properties define the behavior to use when the node joins the cluster (the usage of the bootstrap +# synchronizer), per cluster group and per resource. +# The following values are accepted: +# disabled: means that the synchronizer doesn't sync cluster group and node states +# cluster: the synchronizer retrieves the state from the cluster group first (pull first), and push the node the state +# to the cluster group after (push after) +# node: the synchronizer push the node state to the cluster group (push first), and pull the state from the cluster group +# after (pull after) +# clusterOnly: the cluster is the "master", the node only retrieves and applies the cluster group state, nothing is +# pushed to the cluster group +# nodeOnly: the node is the "master", the node pushes his state to the cluster group, nothing is pulled from the +# cluster group +# +default.bundle.sync = disabled +default.config.sync = disabled +default.feature.sync = disabled +default.obr.urls.sync = disabled +default.balanced.servlet.sync = disabled + +default.event.blacklist.inbound = none +default.event.blacklist.outbound = none +default.event.whitelist.inbound = subscription +default.event.whitelist.outbound = subscription diff --git a/distribution/entaxy-docker/karaf/org.ops4j.datasource-entaxy.esb.cache.cfg b/distribution/entaxy-docker/karaf/org.ops4j.datasource-entaxy.esb.cache.cfg new file mode 100644 index 00000000..f14cd194 --- /dev/null +++ b/distribution/entaxy-docker/karaf/org.ops4j.datasource-entaxy.esb.cache.cfg @@ -0,0 +1,10 @@ +dataSourceName=entaxy.esb.cache +osgi.jdbc.driver.name=PostgreSQL JDBC Driver +serverName=db-postgres +portNumber=5432 +databaseName=cache +user=entaxy +password=entaxy +pool=dbcp2 +xa=true +jdbc.pool.maxTotal=100 diff --git a/distribution/entaxy-docker/karaf/org.ops4j.datasource-entaxy.esb.db_connector.cfg b/distribution/entaxy-docker/karaf/org.ops4j.datasource-entaxy.esb.db_connector.cfg new file mode 100644 index 00000000..cb8f85bc --- /dev/null +++ b/distribution/entaxy-docker/karaf/org.ops4j.datasource-entaxy.esb.db_connector.cfg @@ -0,0 +1,10 @@ +dataSourceName=entaxy.esb.db_connector +osgi.jdbc.driver.name=PostgreSQL JDBC Driver +serverName=db-postgres +portNumber=5432 +databaseName=db_connector_test +user=entaxy +password=entaxy +pool=dbcp2 +xa=true +jdbc.pool.maxTotal=100 diff --git a/distribution/entaxy-docker/karaf/org.ops4j.datasource-entaxy.esb.storage.cfg b/distribution/entaxy-docker/karaf/org.ops4j.datasource-entaxy.esb.storage.cfg new file mode 100644 index 00000000..8d921ebf --- /dev/null +++ b/distribution/entaxy-docker/karaf/org.ops4j.datasource-entaxy.esb.storage.cfg @@ -0,0 +1,10 @@ +dataSourceName=entaxy.esb.storage +osgi.jdbc.driver.name=PostgreSQL JDBC Driver +serverName=db-postgres +portNumber=5432 +databaseName=esb_entaxy +user=entaxy +password=entaxy +pool=dbcp2 +xa=true +jdbc.pool.maxTotal=100 diff --git a/distribution/entaxy-docker/karaf/ru.entaxy.esb.cfg b/distribution/entaxy-docker/karaf/ru.entaxy.esb.cfg new file mode 100644 index 00000000..66b84ccd --- /dev/null +++ b/distribution/entaxy-docker/karaf/ru.entaxy.esb.cfg @@ -0,0 +1,20 @@ +# адреса кластера брокеров сообщений, задаются: +# если tcp в скобках и через запятую: (tcp://192.168.122.81:61616,tcp://192.168.122.82:61616) +# если amqp с failover и в скобках через запятую: failover:(amqp://192.168.122.81:5672,amqp://192.168.122.82:5672) +common.jms.url=(tcp://broker:61616) +# логин для аутентификации в брокере сообщений +common.jms.username=entaxy +# пароль для аутентификации в брокере сообщений +common.jms.password=entaxy +# максимальное количество соединений +# подробнее можно почитать здесь: https://github.com/messaginghub/pooled-jms/blob/master/pooled-jms-docs/Configuration.md +common.jms.maxConnections=20 +# максимальное количество сессий для каждого соединения +# подробнее можно почитать здесь: https://github.com/messaginghub/pooled-jms/blob/master/pooled-jms-docs/Configuration.md +common.jms.maxSessionsPerConnection=100 + +# наименование драйвера для инициализации фабрики планировщика quartz +org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate + +# название очереди, через которую ходят большие пакеты и файлы +common.bridge.file.queue.name=file.queue \ No newline at end of file diff --git a/distribution/entaxy-docker/karaf/ru.entaxy.esb.system.bridge.cfg b/distribution/entaxy-docker/karaf/ru.entaxy.esb.system.bridge.cfg new file mode 100644 index 00000000..eea41838 --- /dev/null +++ b/distribution/entaxy-docker/karaf/ru.entaxy.esb.system.bridge.cfg @@ -0,0 +1,58 @@ +# имя локальной шины() +jms.local=test1 +# значение true - мост текущего узла работает в пассивном режиме, +# т.е. сообщения для соответствующего удалённого узла складываются в очередь на локальном брокере, +# из которой уже читает подключаемый узел (локальный брокер должен быть доступен для соединения) +# По умолчанию false - активный режим, запись сообщения идёт сразу в очередь на удалённом брокере, +# подключаемого узла (брокеры по обе стороны моста должны быть доступны) +jms.local.master=false +# имена удаленных шин, задается через запятую(,) +jms.remote.list=test2 + +# адреса брокера, задаются чеерез запятую(jms.url.) +jms.url.test1=broker:61616 +# логин для подключения к брокеру(jms.username.) +jms.username.test1=entaxy +# пароль для подключения к брокеру(jms.password.) +jms.password.test1=entaxy +# протокол для передачи сообщений внутри шины(jms.protocol.inner.esb.) +# для корректной работы синхронного режима передачи сообщений: необходимо следить +# за одинаковым значением данного параметра в мосту и в самой шине(ru.entaxy.esb.cfg) +# возможные значения tcp, amqp +jms.protocol.inner.esb.test1=tcp +# протокол для передачи сообщений между шинами(jms.protocol.bridge.esb.) +# для корректной работы синхронного режима передачи сообщений: необходимо следить +# за одинаковым значением данного параметра во всех подключенных шинах +# возможные значения tcp, amqp +jms.protocol.bridge.test1=amqp + +# адреса брокера, задаются чеерез запятую(jms.url.) +jms.url.test2=broker:61616 +# логин для подключения к брокеру(jms.username.) +jms.username.test2=entaxy +# пароль для подключения к брокеру(jms.password.) +jms.password.test2=entaxy +# jms.master. - выставляем в true, когда соответствующий узел настроен в пассивный режим, +# т.е. для него jms.local.master = true (брокер должен быть доступен для соединения) +jms.master.test2=true +# протокол для передачи сообщений внутри шины(jms.protocol.inner.esb.) +# для корректной работы синхронного режима передачи сообщений: необходимо следить +# за одинаковым значением данного параметра в мосту и в самой шине(ru.entaxy.esb.cfg) +# возможные значения tcp, amqp +jms.protocol.inner.esb.test2=tcp +# протокол для передачи сообщений между шинами(jms.protocol.bridge.esb.) +# для корректной работы синхронного режима передачи сообщений: необходимо следить +# за одинаковым значением данного параметра во всех подключенных шинах +# возможные значения tcp, amqp +jms.protocol.bridge.test2=amqp + +# максимальное колчичество попыток отправить сообщение в очередь +# почитать подробнее можно в https://camel.apache.org/components/latest/eips/dead-letter-channel.html#deadLetterChannel-Redelivery +redelivery.maximumRedeliveries=-1 +# время между попытками отправить сообщение в очередь +redelivery.redeliveryDelay=5000 +# экспоненциальный рост времени между попытками отпрвки сообщений в очередь +redelivery.useExponentialBackOff=true + +queue.sender.concurrentConsumers=1 +queue.receiver.concurrentConsumers=1 \ No newline at end of file diff --git a/distribution/entaxy-docker/postgres/Dockerfile b/distribution/entaxy-docker/postgres/Dockerfile new file mode 100644 index 00000000..040f2d82 --- /dev/null +++ b/distribution/entaxy-docker/postgres/Dockerfile @@ -0,0 +1,3 @@ +FROM postgres + +COPY create-db.sql /docker-entrypoint-initdb.d/ diff --git a/distribution/entaxy-docker/postgres/create-db.sql b/distribution/entaxy-docker/postgres/create-db.sql new file mode 100644 index 00000000..cb4890c0 --- /dev/null +++ b/distribution/entaxy-docker/postgres/create-db.sql @@ -0,0 +1,4 @@ +CREATE DATABASE esb_entaxy; +GRANT ALL PRIVILEGES ON DATABASE esb_entaxy TO entaxy; +CREATE DATABASE db_connector_test; +GRANT ALL PRIVILEGES ON DATABASE db_connector_test TO entaxy; diff --git a/distribution/entaxy-docker/reposilite/Dockerfile b/distribution/entaxy-docker/reposilite/Dockerfile new file mode 100644 index 00000000..1fe5312a --- /dev/null +++ b/distribution/entaxy-docker/reposilite/Dockerfile @@ -0,0 +1,3 @@ +FROM dzikoysk/reposilite:2.9.23 + +COPY tokens.dat /app/data diff --git a/distribution/entaxy-docker/reposilite/tokens.dat b/distribution/entaxy-docker/reposilite/tokens.dat new file mode 100644 index 00000000..0ae3e572 --- /dev/null +++ b/distribution/entaxy-docker/reposilite/tokens.dat @@ -0,0 +1,6 @@ +!!org.panda_lang.reposilite.auth.TokenCollection +"tokens": +- "alias": "admin" + "path": "/" + "permissions": "m" + "token": "$2a$10$Xrurah6y4IOijq9EtFlAIe2wlhlUScggEBS88DriZDM9MCrAGwqdS" diff --git a/documentation/Management layer.postman_collection.json b/documentation/Management layer.postman_collection.json index c5dcc632..b2669b09 100644 --- a/documentation/Management layer.postman_collection.json +++ b/documentation/Management layer.postman_collection.json @@ -448,12 +448,12 @@ "if (response.hasOwnProperty('listTemplate')) {", " var list_template = response['listTemplate'];", "", - " pm.test(\"Body matches nsi-in-connector\", function () {", - " pm.expect(pm.response.text()).to.include(\"nsi-in-connector\");", + " pm.test(\"Body matches uniform-service-in-connector\", function () {", + " pm.expect(pm.response.text()).to.include(\"uniform-service-in-connector\");", " });", " ", - " // if (response.some(item => item.templateName === 'nsi-in-connector')) {", - " pm.globals.set(\"template_name\", \"nsi-in-connector\");", + " // if (response.some(item => item.templateName === 'uniform-service-in-connector')) {", + " pm.globals.set(\"template_name\", \"uniform-service-in-connector\");", " // }", " ", " pm.test(\"Body matches uniform-service-in-connector\", function () {", @@ -665,8 +665,8 @@ "if (response.hasOwnProperty('listConnector')) {", " var list_template = response['listConnector'];", "", - " pm.test(\"Body matches nsi-in-connector\", function () {", - " pm.expect(pm.response.text()).to.include(\"nsi-in-connector\");", + " pm.test(\"Body matches uniform-service-in-connector\", function () {", + " pm.expect(pm.response.text()).to.include(\"uniform-service-in-connector\");", " });", "}" ], diff --git a/documentation/installation/install.adoc b/documentation/installation/install.adoc index 0795c632..1adeb066 100644 --- a/documentation/installation/install.adoc +++ b/documentation/installation/install.adoc @@ -495,7 +495,7 @@ karaf@root()> [source,bash] ---- -feature:repo-add mvn:ru.entaxy.esb/karaf-features/1.0-SNAPSHOT/xml/features +feature:repo-add mvn:ru.entaxy.esb/karaf-features/1.8/xml/features ---- Затем запускается команда установки всех компонентов Entaxy diff --git a/documentation/installation/installation-table-of-contents.adoc b/documentation/installation/installation-table-of-contents.adoc index 1e720b64..0f15dcfa 100644 --- a/documentation/installation/installation-table-of-contents.adoc +++ b/documentation/installation/installation-table-of-contents.adoc @@ -5,6 +5,6 @@ __Alternative languages:__ = Installation Entaxy have different installation ways OOTB: -* xref:../../temp/entaxy-docker/ReadMe.md[Development docker installation] +* xref:../../distribution/entaxy-docker/ReadMe.md[Development docker installation] * xref:../../features/README.md[Development standalone installation] * xref:install.adoc[Enterprise environment installation] diff --git a/documentation/installation/installation-table-of-contents.ru.adoc b/documentation/installation/installation-table-of-contents.ru.adoc index b1b6cf48..dce2e382 100644 --- a/documentation/installation/installation-table-of-contents.ru.adoc +++ b/documentation/installation/installation-table-of-contents.ru.adoc @@ -5,6 +5,6 @@ __Alternative languages:__ = Установка Entaxy из коробки имеет разные варианты установки: -* xref:local-installation/ReadMe.md[Установка для разработки в докер] +* xref:../../distribution/entaxy-docker/ReadMe.md[Установка для разработки в докер] * xref:../../features/README.ru.md[Установка для разработки отдельных серверных приложений] * xref:install.adoc[Установка на промышленное окружение] diff --git a/documentation/installation/local-installation/ReadMe.md b/documentation/installation/local-installation/ReadMe.md index 97866b22..1c7c1c3c 100644 --- a/documentation/installation/local-installation/ReadMe.md +++ b/documentation/installation/local-installation/ReadMe.md @@ -20,7 +20,7 @@ cd entaxy-framework entaxy-maven-repo-file - file:./temp/entaxy-docker/karaf/repo + file:./distribution/entaxy-docker/karaf/repo @@ -31,7 +31,7 @@ mvn deploy -P docker.file.repo ``` И после успешной сборки запускаем контейнеры из директории проекта, в которой находится docker-compose.yml: ```bash -cd ./temp/entaxy-docker +cd ./distribution/entaxy-docker docker-compose up ``` Или `docker compose up` для новых версий docker. @@ -68,7 +68,7 @@ config:property-set -p org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories Запускаем контейнеры из директории проекта, в которой находится docker-compose.yml: ```bash -cd ./temp/entaxy-docker +cd ./distribution/entaxy-docker docker-compose up ``` Или `docker compose up` для новых версий docker. diff --git a/features/README.md b/features/README.md index f59bfcb8..7355b6b9 100644 --- a/features/README.md +++ b/features/README.md @@ -25,90 +25,125 @@ Launch the server karaf / karaf.bat -#### Step 2: DB Setup +#### Step 2: DB, artemis and artefact manager Setup -If use docker: +If use docker run Artemis - docker run --name entaxy_db -p 5432:5432 -e POSTGRES_PASSWORD=entaxy -e POSTGRES_USER=entaxy -e POSTGRES_DB=cache -d postgres + sudo docker run --rm -p 8161:8161 -p 61616:61616 -e ARTEMIS_USERNAME=entaxy -e ARTEMIS_PASSWORD=entaxy --name=artemis1 -d vromero/activemq-artemis -#### Step 3: Add features +And run postgres + + 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 + +or mssql + + 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 + +`By default project use two db: cache и esb_entaxy,` +`Name of db wrote in org.ops4j.datasource-entaxy.esb.*.cfg` + +and run nexus, if do you want to use it(necessary for system-management to work) + + sudo docker run -d -p 8081:8081 --name nexus sonatype/nexus3 + +Now we look at the admin password through the command: + + docker exec nexus cat /nexus-data/admin.password +And then we go to the admin panel through the browser on http://localhost:8081/. +By default, it needs to create a user entaxy / entaxy and a maven repository called entaxy to work. + +On Docker Toolbox, errors may occur due to insufficient memory, solved by changing the memory allocation at startup` + + docker run -d -p 8081:8081 --name nexus -e INSTALL4J_ADD_VM_PARAMS="-Xms2g -Xmx2g -XX:MaxDirectMemorySize=3g" sonatype/nexus3 + +#### Step 3: Preparing and launching karaf + +Copy the following files from the entaxy-framework\features\src\main\cfg\ repository to etc karaf + + jre.properties + org.apache.karaf.cellar.groups.cfg + + +Also, the local nexus repository must be added to the standard repositories in the file org.ops4j.pax.url.mvn.cfg property org.ops4j.pax.url.mvn.repositories.` + +`The user and the name of the repository are specified in the ru.entaxy.esb.deployer.nexus.cfg configuration file.` + + +Running Apache Karaf 4.x or newer + + karaf + +Or starting karaf with cleaning to its original state + + karaf clean + +## Step 4: Installing all features in one go using the karaf command line + + shell:source /entaxy-framework/features/src/main/script/install.karaf + +- After that you need to check the configurations of connections to the database in the files org.ops4j.datasource-entaxy.esb. *. Cfg +- Check the address of the broker in the file ru.entaxy.esb.cfg property ru.entaxy.esb.jms.url +- Check broker address in init/entaxy-platform-connections.json file "name": "entaxy-broker" connection in which property url +- Replace org.apache.karaf.cellar.groups.cfg file + +#### Step 4a: Add features Add features required - feature:repo-add mvn:ru.entaxy.esb/karaf-features/LATEST/xml/features - feature:install liquibase-updater - feature:install entaxy-esb-api + feature:repo-add mvn:ru.entaxy.esb/karaf-features/$ESB_ENTAXY_VERSION/xml/features -Install nsi +Install entaxy - feature:install nsi - -Install permission + feature:install entaxy-all - feature:install permission - -Install system-registry +Add base feature required - feature:install system-registry - -Install system-group-registry + feature:repo-add mvn:ru.entaxy.esb.platform.runtime/base/$ESB_ENTAXY_VERSION/xml/features - feature:install system-group-registry - -Install system-group-profile +Install base - install -s blueprint:mvn:ru.entaxy.esb.integration.esb.test.profiles/test-profiles/1.0-SNAPSHOT/xml/g_test - -Install bridge + feature:install base - feature:install bridge - -Install basic-auth +Add core feature required - feature:install basic-auth - -Install events + feature:repo-add mvn:ru.entaxy.esb.platform.runtime/core/$ESB_ENTAXY_VERSION/xml/features - feature:install events +Install core + + feature:install core + +Add entaxy-uniform-service feature required + + 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/nsi-esb/1.0-SNAPSHOT + bundle:watch mvn:ru.entaxy.esb/esb/1.8 -#### Step 4: Verify that your service is available using the following url in the browser. +#### Step 5: Verify that your service is available using the following url in the browser. We assume you're using Karaf's default PAX Web configuration which uses port `8181` for http. If you would like to use another port or https, change the configuration in `${KARAF_HOME}/etc/org.ops4j.pax.web.cfg`. The immediate extension after the hostname and port ("cxf" in the below URL) is configured via the org.apache.cxf.osgi.cfg file (Please see [http://team.ops4j.org/wiki//display/paxweb/Pax+Web](http://team.ops4j.org/wiki//display/paxweb/Pax+Web) for more information on PAX Web). -[http://localhost:8181/cxf/xdto/NSI?wsdl](http://localhost:8181/cxf/xdto/NSI?wsdl) +[http://localhost:8181/cxf/system-management?wsdl](http://localhost:8181/cxf/system-management?wsdl) -#### Step 5: Start SOAPUI or Postman +#### Step 6: Start SOAPUI or Postman POST request to - http://localhost:8181/cxf/xdto/NSI + http://localhost:8181/cxf/system-management Send test request: - - - - - - - -Response contains GUID, copy it and send request for get result: - - - - - - {GUID} - - - - -#### Step 6: Check the file system and DB - Check the folder "target/inbox/" in the Karaf base directory to see that a message has arrived. + + + + + + ### Forum, Help, etc @@ -143,7 +178,7 @@ The Camel riders! or - newman run "Entaxy Integration Tests.postman_collection.json" --env-var base_url=http://192.168.122.83:8181/cxf + newman run "Entaxy Integration Tests.postman_collection.json" --env-var base_url=http://localhost:8181/cxf #### CXF logging messages diff --git a/features/README.ru.md b/features/README.ru.md index 0491d6de..747385c9 100644 --- a/features/README.ru.md +++ b/features/README.ru.md @@ -8,7 +8,7 @@ Для установки фич понадобятся несколько шагов. -Использовать Java 8 +Использовать Java 11+ ### Шаг 1: Сборка проекта @@ -74,86 +74,67 @@ - После требуется проверить конфигурации соединений с бд в файлах org.ops4j.datasource-entaxy.esb.*.cfg - Проверить адрес брокера в файле ru.entaxy.esb.cfg свойство ru.entaxy.esb.jms.url -- Проверить адреса брокеров для моста в файле ru.entaxy.esb.system.bridge.cfg свойства 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/LATEST/xml/features - feature:install liquibase-updater - feature:install entaxy-esb-api + feature:repo-add mvn:ru.entaxy.esb/karaf-features/$ESB_ENTAXY_VERSION/xml/features -Установить nsi +Установить entaxy - feature:install nsi + feature:install entaxy-all -Установить permission +Добавить необходимую фичу base - feature:install permission + feature:repo-add mvn:ru.entaxy.esb.platform.runtime/base/$ESB_ENTAXY_VERSION/xml/features -Установить реестр систем +Установить base - feature:install system-registry + feature:install base -Установить тестовый профиль +Добавить необходимую фичу core - install -s blueprint:mvn:ru.entaxy.esb.integration.esb.test.profiles/test-profiles/1.0-SNAPSHOT/xml/s_s1 + feature:repo-add mvn:ru.entaxy.esb.platform.runtime/core/$ESB_ENTAXY_VERSION/xml/features -Установить реестр групп систем +Установить core - feature:install system-group-registry + feature:install core -Установить профиль группы систем +Добавить необходимую entaxy-uniform-service - install -s blueprint:mvn:ru.entaxy.esb.integration.esb.test.profiles/test-profiles/1.0-SNAPSHOT/xml/g_fzd + feature:repo-add mvn:ru.entaxy.esb.platform.runtime.modules/uniform-service/$ESB_ENTAXY_VERSION/xml/features -Установить мост +Install entaxy-uniform-service - feature:install bridge - -Установить сервис управления учётными записями + feature:install entaxy-uniform-service - feature:install basic-auth - -Установить events +Useful comand for dev - feature:install events - -Для дев окружения может быть полезна команда watch - - bundle:watch mvn:ru.entaxy.esb/nsi-esb/1.0-SNAPSHOT + 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://team.ops4j.org/wiki/display/paxweb/Pax+Web)) +[http://localhost:8181/cxf/system-management?wsdl](http://localhost:8181/cxf/system-management?wsdl) + #### Шаг 6: Запуск SOAPUI или Postman Отправка POST запроса на адрес - http://localhost:8181/cxf/xdto/NSI + http://localhost:8181/cxf/system-management Тестовый запрос: - - - - - - - -Ответ сожержит GUID, скопируйте его и отправьте для получения результата: - - - - - - {GUID} - - - + + + + + + ## Автотесты @@ -170,12 +151,7 @@ #### Запуск нагрузочных тестов через Jmeter -В тестах прописана система s1, запросы направляются на 83 ноду +В тестах прописана система s1 -* 1C-EXCHANGE_SEND_GET_ASK.jmx - запись и чтение с подтверждением последовательно -* 1C-EXCHANGE_SEND_GET_ASK_ASYNC.jmx - запись и чтение с подтверждением в параллельных потоках - -Можно запускать с машины 192.168.122.76 - - cd /opt/jenkins/.jenkins/workspace/test_master/test/jmeter - /opt/apache-jmeter-5.2.1/bin/jmeter.sh -n -t ./1C-EXCHANGE_SEND_GET_ASK_ASYNC.jmx +* UNIFORM-SERVICE-CONNECTOR_SEND_GET_ACK.jmx - запись и чтение с подтверждением последовательно +* UNIFORM-SERVICE_SEND_GET_AСK_ASYNC.jmx - запись и чтение с подтверждением в параллельных потоках diff --git a/features/pom.xml b/features/pom.xml index 065d9e01..f27e0d9f 100644 --- a/features/pom.xml +++ b/features/pom.xml @@ -90,21 +90,6 @@ cfg ru.entaxy.esb - - target/cfg/ru.entaxy.esb.connector.1c.service.soap.passive.cfg - cfg - ru.entaxy.esb.connector.1c.service.soap.passive - - - target/cfg/ru.entaxy.esb.connector.1c.soap.passive.cfg - cfg - ru.entaxy.esb.connector.1c.soap.passive - - - target/cfg/ru.entaxy.esb.connector.1c.support.cfg - cfg - ru.entaxy.esb.connector.1c.support - target/cfg/ru.entaxy.esb.system.basic_auth.cfg cfg diff --git a/features/src/main/cfg/ru.entaxy.esb.connector.1c.support.cfg b/features/src/main/cfg/ru.entaxy.esb.connector.1c.support.cfg deleted file mode 100644 index bcf767a7..00000000 --- a/features/src/main/cfg/ru.entaxy.esb.connector.1c.support.cfg +++ /dev/null @@ -1,47 +0,0 @@ -### -# ~~~~~~licensing~~~~~~ -# karaf-features -# ========== -# Copyright (C) 2020 - 2021 EmDev LLC -# ========== -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ~~~~~~/licensing~~~~~~ -### -# максимальное количество попыток отправить сообщение в очередь из агрегатора -redelivery.maximumRedeliveries=2 -# очередь для отправки сообщений, которые не смог отправить агрегатор в destination -redelivery.deadLetterQueue=revert.message.dead - -# задается в mc, значение по умолчанию 10 минут -acknowledge.completion.timeout=600000 -# настройка способа агрегирования через игнайт или бд -# Важно! следить за тем чтобы данный параметр был одинаковым во всем кластере -# варианты - igniteAggregationRepository, jdbcAggregationRepository (для всех бд кроме postgres), postgresAggregationRepository -# по умолчанию - jdbcAggregationRepository -acknowledge.aggregation.repository=jdbcAggregationRepository - -# Поднимается endpoint /active_connector_test_consumer -# при выставленной настройке mode.dev=true -active.mode.dev=false -active.username=Администратор -active.password= - -# валидация сообщения по wsdl -active.validation=false - -# uuid шины, для отправки в активном режиме в систему от имени шины -bus.id=FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF -get.destination= - -# параметр для тестирования активного коннектора -test.empty.rate=20 diff --git a/features/src/main/script/create_full_karaf_assembly.sh b/features/src/main/script/create_full_karaf_assembly.sh index 4b5ce190..9574c521 100644 --- a/features/src/main/script/create_full_karaf_assembly.sh +++ b/features/src/main/script/create_full_karaf_assembly.sh @@ -56,7 +56,7 @@ rm -rf $INSTALL_DIR/data/txlog/* if test -f "$DIRNAME/version"; then ESB_ENTAXY_VERSION=`cat $DIRNAME/version` else - ESB_ENTAXY_VERSION=1.0-SNAPSHOT + ESB_ENTAXY_VERSION=1.8.0 fi echo "Installing $ESB_ENTAXY_VERSION" diff --git a/features/src/main/script/create_update_patch.sh b/features/src/main/script/create_update_patch.sh index 7232b001..4dff6aee 100644 --- a/features/src/main/script/create_update_patch.sh +++ b/features/src/main/script/create_update_patch.sh @@ -27,7 +27,7 @@ DIRNAME="$( cd "$(dirname "$0")" ; pwd -P )" if test -f "$DIRNAME/version"; then ESB_ENTAXY_VERSION=`cat $DIRNAME/version` else - ESB_ENTAXY_VERSION=1.0-SNAPSHOT + ESB_ENTAXY_VERSION=1.8.0 fi echo "Create patch version $ESB_ENTAXY_VERSION" diff --git a/features/src/main/script/update_karaf_clean.sh b/features/src/main/script/update_karaf_clean.sh index f5574f2b..69e02869 100644 --- a/features/src/main/script/update_karaf_clean.sh +++ b/features/src/main/script/update_karaf_clean.sh @@ -20,7 +20,7 @@ # ~~~~~~/licensing~~~~~~ ### -# берет номер версии из файла version, если его нет то используется 1.0-SNAPSHOT +# берет номер версии из файла version, если его нет то используется 1.8 # если задан первый параметр чистит конфиги DIRNAME="$( cd "$(dirname "$0")" ; pwd -P )" @@ -28,7 +28,7 @@ DIRNAME="$( cd "$(dirname "$0")" ; pwd -P )" if test -f "$DIRNAME/version"; then ESB_ENTAXY_VERSION=`cat $DIRNAME/version` else - ESB_ENTAXY_VERSION=1.0-SNAPSHOT + ESB_ENTAXY_VERSION=1.8 fi echo "Installing $ESB_ENTAXY_VERSION" diff --git a/platform/pom.xml b/platform/pom.xml index 24ca8f22..892dbe3b 100644 --- a/platform/pom.xml +++ b/platform/pom.xml @@ -17,4 +17,109 @@ runtime + + + + install-script + + + src/main/scripts/entaxy-platform.install + + + + + + org.codehaus.mojo + license-maven-plugin + + + update-file-header + + update-file-header + + process-sources + + ${license.organizationName} + ${license.inceptionYear} + ${license.projectName} + ${license.copyrightOwners} + ${license.licenseName} + + + false + false + + + **/*.json + + + + properties + + + true + true + + ${license.processStartTag} + ${license.processEndTag} + ${license.sectionDelimiter} + + + + + + + org.apache.maven.plugins + maven-resources-plugin + 3.2.0 + + + copy-resources + + validate + + copy-resources + + + ${basedir}/target/scripts + + + src/main/scripts + true + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + attach-script + verify + + attach-artifact + + + + + target/scripts/entaxy-platform.install + install + entaxy-platform + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform/runtime/base/branding/src/main/cfg/branding.properties b/platform/runtime/base/branding/src/main/cfg/branding.properties index 12a1cf82..f74f56e5 100644 --- a/platform/runtime/base/branding/src/main/cfg/branding.properties +++ b/platform/runtime/base/branding/src/main/cfg/branding.properties @@ -18,6 +18,7 @@ # ~~~~~~/licensing~~~~~~ ### welcome = \ +\r\n\ \u001B[36m :::::::::: :::: ::: ::::::::::: ::: ::: ::: ::: ::: \u001B[0m\r\n\ \u001B[36m :+: :+:+: :+: :+: :+: :+: :+: :+: :+: :+: \u001B[0m\r\n\ \u001B[36m +:+ :+:+:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ \u001B[0m\r\n\ diff --git a/platform/runtime/base/src/main/features/features.xml b/platform/runtime/base/src/main/features/features.xml index f36ba415..481c6eef 100644 --- a/platform/runtime/base/src/main/features/features.xml +++ b/platform/runtime/base/src/main/features/features.xml @@ -26,52 +26,62 @@ xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 http://karaf.apache.org/xmlns/features/v1.3.0"> mvn:org.apache.camel.karaf/apache-camel/${camel.version}/xml/features + mvn:ru.entaxy.esb.distribution/entaxy-karaf-features/${project.version}/xml/features - - connecting + + entaxy-branding + connecting + + + + + mvn:ru.entaxy.esb.platform.runtime.base/branding/${project.version}/properties/branding + - + generator mvn:ru.entaxy.esb.platform.runtime.base.connecting/connection/${project.version} producer adapter - + mvn:ru.entaxy.esb.platform.runtime.base.connecting.generator/generator-api/${project.version} mvn:ru.entaxy.esb.platform.runtime.base.connecting.generator/ftl-generator/${project.version} mvn:ru.entaxy.esb.platform.runtime.base.connecting.generator/generator-factory/${project.version} - + camel-gson mvn:ru.entaxy.esb.platform.runtime.base.connecting.producer/producer-api/${project.version} mvn:ru.entaxy.esb.platform.runtime.base.connecting.producer/connection-producer/${project.version} - + adapters-core file-adapter artemis-adapter postgresql-adapter - + mvn:ru.entaxy.esb.platform.runtime.base.connecting.adapter/adapters-core/${project.version} - - mvn:org.apache.camel/camel-file/${camel.version} + + + camel-core mvn:ru.entaxy.esb.platform.runtime.base.connecting.adapter/file-adapter/${project.version} - - mvn:org.apache.camel/camel-jms/${camel.version} + + + camel-jms mvn:ru.entaxy.esb.platform.runtime.base.connecting.adapter/artemis-adapter/${project.version} - + wrap:mvn:org.postgresql/postgresql/${postgresql.version} mvn:org.apache.camel/camel-jdbc/${camel.version} mvn:ru.entaxy.esb.platform.runtime.base.connecting.adapter/postgresql-adapter/${project.version} diff --git a/platform/runtime/core/initializer/connection-initializer/pom.xml b/platform/runtime/core/initializer/connection-initializer/pom.xml index 5bcc55b4..67d0628b 100644 --- a/platform/runtime/core/initializer/connection-initializer/pom.xml +++ b/platform/runtime/core/initializer/connection-initializer/pom.xml @@ -24,10 +24,32 @@ true - ru.entaxy.esb.platform.runtime.core.initializer.connection.ConnectionInitializer?id=connections&repeat=false&depends-on=core,datasources + ru.entaxy.esb.platform.runtime.core.initializer.connection.ConnectionInitializer?id=connections&repeat=true&depends-on=core,datasources + + org.codehaus.mojo + build-helper-maven-plugin + + + attach-artifacts + package + + attach-artifact + + + + + src/main/non-packaged-resources/etc/init/entaxy-platform-connections.json + json + init-config + + + + + + diff --git a/platform/runtime/core/initializer/connection-initializer/src/main/non-packaged-resources/etc/init/entaxy-platform-connections.json b/platform/runtime/core/initializer/connection-initializer/src/main/non-packaged-resources/etc/init/entaxy-platform-connections.json new file mode 100644 index 00000000..f6e93ac6 --- /dev/null +++ b/platform/runtime/core/initializer/connection-initializer/src/main/non-packaged-resources/etc/init/entaxy-platform-connections.json @@ -0,0 +1,54 @@ +{ + "connections": [ + { + "nodeType": "connection", + "uuid": "connection-uuid-1", + "name": "entaxy-file", + "adapterName": "fileAdapter", + "platform": true, + "pathParameter": "data/shared", + "properties": {}, + "options": { + "noop": true, + "fileName": "default.txt", + "allowNullBody": "true" + } + }, + { + "nodeType": "connection", + "uuid": "connection-uuid-2", + "name": "entaxy-broker", + "adapterName": "artemisAdapter", + "platform": true, + "pathParameter": "queue:entaxy.default", + "properties": { + "url": "(tcp://localhost:61616)", + "username": "entaxy", + "password": "entaxy", + "maxConnections": "20", + "maxSessionsPerConnection": "100" + }, + "options": {} + }, + { + "nodeType": "connection", + "uuid": "connection-uuid-3", + "name": "entaxy-db-storage", + "adapterName": "postgresqlAdapter", + "platform": true, + "pathParameter": "entaxy.esb.storage", + "properties": {}, + "options": {} + }, + { + "nodeType": "connection", + "uuid": "connection-uuid-4", + "name": "entaxy-db-cache", + "adapterName": "postgresqlAdapter", + "platform": true, + "pathParameter": "entaxy.esb.cache", + "properties": {}, + "options": {} + } + ] +} diff --git a/platform/runtime/core/initializer/datasources-initializer/pom.xml b/platform/runtime/core/initializer/datasources-initializer/pom.xml index d68230d1..7b596fb0 100644 --- a/platform/runtime/core/initializer/datasources-initializer/pom.xml +++ b/platform/runtime/core/initializer/datasources-initializer/pom.xml @@ -26,10 +26,38 @@ true - ru.entaxy.esb.platform.runtime.core.initializer.datasources.DataSourcesInitializer?id=datasources&repeat=false + ru.entaxy.esb.platform.runtime.core.initializer.datasources.DataSourcesInitializer?id=datasources&repeat=false&retries=10&interval=2000 + + org.codehaus.mojo + build-helper-maven-plugin + + + attach-artifacts + package + + attach-artifact + + + + + src/main/non-packaged-resources/etc/org.ops4j.datasource-entaxy.esb.cache.cfg + cfg + datasource-cache + + + src/main/non-packaged-resources/etc/org.ops4j.datasource-entaxy.esb.storage.cfg + cfg + datasource-storage + + + + + + + diff --git a/platform/runtime/core/initializer/datasources-initializer/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/datasources/DataSourcesCollector.java b/platform/runtime/core/initializer/datasources-initializer/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/datasources/DataSourcesCollector.java new file mode 100644 index 00000000..51e9fb1e --- /dev/null +++ b/platform/runtime/core/initializer/datasources-initializer/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/datasources/DataSourcesCollector.java @@ -0,0 +1,43 @@ +/*- + * ~~~~~~licensing~~~~~~ + * datasources-initializer + * ========== + * Copyright (C) 2020 - 2021 EmDev LLC + * ========== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ~~~~~~/licensing~~~~~~ + */ +package ru.entaxy.esb.platform.runtime.core.initializer.datasources; + +import javax.sql.DataSource; + +public class DataSourcesCollector { + + protected DataSource dsCache; + protected DataSource dsStorage; + + protected void notifyOnComplete() { + if ((this.dsCache != null) && (this.dsStorage != null)) + DataSourcesInitializer.collectorCompleted(); + } + + public void setDsCache(DataSource dsCache) { + this.dsCache = dsCache; + notifyOnComplete(); + } + public void setDsStorage(DataSource dsStorage) { + this.dsStorage = dsStorage; + notifyOnComplete(); + } + +} diff --git a/platform/runtime/core/initializer/datasources-initializer/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/datasources/DataSourcesInitializer.java b/platform/runtime/core/initializer/datasources-initializer/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/datasources/DataSourcesInitializer.java index 0c1281e9..3b99c8f9 100644 --- a/platform/runtime/core/initializer/datasources-initializer/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/datasources/DataSourcesInitializer.java +++ b/platform/runtime/core/initializer/datasources-initializer/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/datasources/DataSourcesInitializer.java @@ -24,6 +24,7 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.entaxy.esb.platform.runtime.core.initializer.api.AbstractInitializer; +import ru.entaxy.esb.platform.runtime.core.initializer.api.Initializer; import ru.entaxy.esb.platform.runtime.core.initializer.api.InitializerException; import javax.sql.DataSource; @@ -33,6 +34,13 @@ public class DataSourcesInitializer extends AbstractInitializer { protected static final Logger log = LoggerFactory.getLogger(DataSourcesInitializer.class); + protected static Initializer.Callback callback = null; + + public static void collectorCompleted() { + if (DataSourcesInitializer.callback != null) + DataSourcesInitializer.callback.inited(new DataSourcesInitializer()); + } + @Override public void init() throws InitializerException { log.info("Init in DataSourcesInitializer is called"); @@ -55,5 +63,8 @@ public class DataSourcesInitializer extends AbstractInitializer { log.info("ReInit in CoreInitializer is called"); } - + @Override + public void setCalllback(Callback callback) { + DataSourcesInitializer.callback = callback; + } } diff --git a/features/src/main/cfg/ru.entaxy.esb.connector.1c.soap.passive.cfg b/platform/runtime/core/initializer/datasources-initializer/src/main/non-packaged-resources/etc/org.ops4j.datasource-entaxy.esb.cache.cfg similarity index 66% rename from features/src/main/cfg/ru.entaxy.esb.connector.1c.soap.passive.cfg rename to platform/runtime/core/initializer/datasources-initializer/src/main/non-packaged-resources/etc/org.ops4j.datasource-entaxy.esb.cache.cfg index 86f5b688..a62e80b9 100644 --- a/features/src/main/cfg/ru.entaxy.esb.connector.1c.soap.passive.cfg +++ b/platform/runtime/core/initializer/datasources-initializer/src/main/non-packaged-resources/etc/org.ops4j.datasource-entaxy.esb.cache.cfg @@ -1,6 +1,6 @@ ### # ~~~~~~licensing~~~~~~ -# karaf-features +# datasources-initializer # ========== # Copyright (C) 2020 - 2021 EmDev LLC # ========== @@ -17,8 +17,13 @@ # limitations under the License. # ~~~~~~/licensing~~~~~~ ### -# адрес soap-connector, будет формироваться host/cxf + passive.endpoint.address, -# по умолчанию passive.endpoint.address=/exchange -passive.endpoint.address=/exchange -# включение кастомной валидации soap сообщений по wsdl -passive.endpoint.validation=true +dataSourceName=entaxy.esb.cache +osgi.jdbc.driver.name=PostgreSQL JDBC Driver +serverName=localhost +portNumber=5432 +databaseName=cache +user=entaxy +password=entaxy +pool=dbcp2 +xa=true +jdbc.pool.maxTotal=100 diff --git a/features/src/main/cfg/ru.entaxy.esb.connector.1c.service.soap.passive.cfg b/platform/runtime/core/initializer/datasources-initializer/src/main/non-packaged-resources/etc/org.ops4j.datasource-entaxy.esb.storage.cfg similarity index 55% rename from features/src/main/cfg/ru.entaxy.esb.connector.1c.service.soap.passive.cfg rename to platform/runtime/core/initializer/datasources-initializer/src/main/non-packaged-resources/etc/org.ops4j.datasource-entaxy.esb.storage.cfg index 57f311d6..decd7efa 100644 --- a/features/src/main/cfg/ru.entaxy.esb.connector.1c.service.soap.passive.cfg +++ b/platform/runtime/core/initializer/datasources-initializer/src/main/non-packaged-resources/etc/org.ops4j.datasource-entaxy.esb.storage.cfg @@ -1,6 +1,6 @@ ### # ~~~~~~licensing~~~~~~ -# karaf-features +# datasources-initializer # ========== # Copyright (C) 2020 - 2021 EmDev LLC # ========== @@ -17,11 +17,13 @@ # limitations under the License. # ~~~~~~/licensing~~~~~~ ### -# адрес service-soap, будет формироваться host/cxf + passive.endpoint.address, -# по умолчанию passive.endpoint.address=/service -passive.endpoint.address=/service -# включение кастомной валидации soap сообщений по wsdl -passive.endpoint.validation=true -# название системы, в которую будут отправляться сообщения, если не был выставлен destination -passive.error.system.name=error - +dataSourceName=entaxy.esb.storage +osgi.jdbc.driver.name=PostgreSQL JDBC Driver +serverName=localhost +portNumber=5432 +databaseName=esb_entaxy +user=entaxy +password=entaxy +pool=dbcp2 +xa=true +jdbc.pool.maxTotal=100 diff --git a/platform/runtime/core/initializer/datasources-initializer/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/platform/runtime/core/initializer/datasources-initializer/src/main/resources/OSGI-INF/blueprint/blueprint.xml new file mode 100644 index 00000000..2ea2cf24 --- /dev/null +++ b/platform/runtime/core/initializer/datasources-initializer/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + diff --git a/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/InitManager.java b/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/InitManager.java index 20b94177..5adc2fab 100644 --- a/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/InitManager.java +++ b/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/InitManager.java @@ -76,7 +76,7 @@ public class InitManager { protected List waiting = new ArrayList<>(); - protected class InitializerMeta { + protected class InitializerMeta implements Initializer.Callback { String id; String className; @@ -84,12 +84,16 @@ public class InitManager { Bundle bundle; - List dependsOn = new ArrayList<>(); - List dependedBy = new ArrayList<>(); + Map dependsOn = new HashMap<>(); + Map dependedBy = new HashMap<>(); boolean executed = false; boolean toBeExecuted = true; + int retries = 1; + + int interval = 1000; + public void load(String initializerData) { String[] data = initializerData.split("\\?"); @@ -120,6 +124,21 @@ public class InitManager { String repeat = params.get(Initializer.INITIALIZER_QUERY_STRING_PARAM_REPEAT); this.repeat = "true".equals(repeat); + String retriesValue = params.get(Initializer.INITIALIZER_QUERY_STRING_PARAM_RETRIES); + if (!Strings.isNullOrEmpty(retriesValue)) + try { + this.retries = Integer.parseInt(retriesValue); + } catch (NumberFormatException e) { + log.error("Retries paramater [{}] is not an integer", retriesValue); + } + + String intervalValue = params.get(Initializer.INITIALIZER_QUERY_STRING_PARAM_INTERVAL); + if (!Strings.isNullOrEmpty(intervalValue)) + try { + this.interval = Integer.parseInt(intervalValue); + } catch (NumberFormatException e) { + log.error("Interval paramater [{}] is not an integer", intervalValue); + } } protected void addDependency(InitializerMeta meta) { @@ -127,7 +146,7 @@ public class InitManager { if (meta.toBeExecuted && !meta.executed) synchronized (this.dependsOn) { meta.addDependent(this); - this.dependsOn.add(meta); + this.dependsOn.put(meta.id, meta); } } } @@ -136,13 +155,15 @@ public class InitManager { this.className = other.className; this.bundle = other.bundle; this.repeat = other.repeat; - for (InitializerMeta meta: other.dependsOn) + this.retries = other.retries; + this.interval = other.interval; + for (InitializerMeta meta: other.dependsOn.values()) this.addDependency(meta); } public void addDependent(InitializerMeta meta) { synchronized (this.dependedBy) { - this.dependedBy.add(meta); + this.dependedBy.put(meta.id, meta); } } @@ -155,7 +176,7 @@ public class InitManager { } public void notifyDependent() { - for (InitializerMeta meta: this.dependedBy) + for (InitializerMeta meta: this.dependedBy.values()) meta.dependencyReady(this); } @@ -190,14 +211,39 @@ public class InitManager { } + public void setCallback() { + BundleWiring wiring = bundle.adapt(BundleWiring.class); + ClassLoader cl = wiring.getClassLoader(); + Class clazz; + try { + clazz = cl.loadClass(className); + log.info("Loaded class {}", clazz.getName()); + Constructor constructor = clazz.getConstructor(); + Initializer initializer = (Initializer) constructor.newInstance(); + initializer.setCalllback(this); + } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + public void dependencyReady(InitializerMeta meta) { synchronized (this.dependsOn) { - this.dependsOn.remove(meta); + this.dependsOn.remove(meta.id); if (!this.executed && this.canExecute()) this.execute(); } } + @Override + public void inited(Initializer owner) { + log.info("Initializer with id {} notified of successful init via callback"); + InitManager.this.updateById(id, true); + this.executed = true; + this.notifyDependent(); + owner.setCalllback(null); + } + }; @@ -268,7 +314,7 @@ public class InitManager { } if (!meta.canExecute()) { - String dependsOn = meta.dependsOn.stream().map((m)->m.id).collect(Collectors.joining(",")); + String dependsOn = meta.dependsOn.values().stream().map((m)->m.id).collect(Collectors.joining(",")); log.info("Initializer with id {} is waiting for dependencies: {}", meta.id, dependsOn); /* @@ -276,8 +322,25 @@ public class InitManager { */ return; } + int retriesCount = meta.retries; + boolean result = false; + while (!result && (retriesCount > 0)) { + log.info("Executing initializer with id {}: try {} of {}", meta.id, meta.retries-retriesCount+1, meta.retries); + retriesCount--; + result = meta.execute(); + if ((retriesCount > 0) && !result) + try { + log.info("Executing initializer with id {}: sleeping for {}", meta.id, meta.interval); + Thread.sleep(meta.interval); + } catch (InterruptedException e) { + log.error("Failed sleep for thread {} on initializer {}", Thread.currentThread().getId(), meta.id); + e.printStackTrace(); + } + } - meta.execute(); + // last try + if (!result) + meta.setCallback(); } /* protected void execute(InitializerMeta meta) { diff --git a/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/api/AbstractInitializer.java b/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/api/AbstractInitializer.java index ea38d101..d6501141 100644 --- a/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/api/AbstractInitializer.java +++ b/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/api/AbstractInitializer.java @@ -52,4 +52,8 @@ public abstract class AbstractInitializer implements Initializer { return this.initializerId; } + @Override + public void setCalllback(Callback callback) { + // Ignore it by default + } } diff --git a/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/api/Initializer.java b/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/api/Initializer.java index b3f7f30d..579c3150 100644 --- a/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/api/Initializer.java +++ b/platform/runtime/core/initializer/init-manager/src/main/java/ru/entaxy/esb/platform/runtime/core/initializer/api/Initializer.java @@ -23,6 +23,10 @@ import org.osgi.framework.BundleContext; public interface Initializer { + public static interface Callback { + public void inited(Initializer owner); + } + public static final String INITIALIZER_CLASS_HEADER = "Entaxy-Initializer-Class"; @@ -38,6 +42,8 @@ public interface Initializer { public static final String INITIALIZER_QUERY_STRING_PARAM_ID = "id"; public static final String INITIALIZER_QUERY_STRING_PARAM_DEPENDS_ON = "depends-on"; public static final String INITIALIZER_QUERY_STRING_PARAM_REPEAT = "repeat"; + public static final String INITIALIZER_QUERY_STRING_PARAM_RETRIES = "retries"; + public static final String INITIALIZER_QUERY_STRING_PARAM_INTERVAL = "interval"; public void init() throws InitializerException; @@ -54,4 +60,6 @@ public interface Initializer { public void setInitializerId(String id); public String getInitializerId(); + + public void setCalllback(Initializer.Callback callback); } diff --git a/platform/runtime/core/initializer/storage-initializer/liquibase-updater/pom.xml b/platform/runtime/core/initializer/storage-initializer/liquibase-updater/pom.xml index 609204c6..d1935bc3 100644 --- a/platform/runtime/core/initializer/storage-initializer/liquibase-updater/pom.xml +++ b/platform/runtime/core/initializer/storage-initializer/liquibase-updater/pom.xml @@ -26,14 +26,14 @@ - + org.liquibase liquibase-core diff --git a/platform/runtime/core/src/main/features/features.xml b/platform/runtime/core/src/main/features/features.xml index 88fb99c1..63b58b90 100644 --- a/platform/runtime/core/src/main/features/features.xml +++ b/platform/runtime/core/src/main/features/features.xml @@ -20,30 +20,74 @@ --> - + - - management - initializer + mvn:ru.entaxy.esb.platform.runtime/base/${project.version}/xml/features + mvn:ru.entaxy.esb.distribution/entaxy-karaf-features/${project.version}/xml/features + + + entaxy-platform-base + entaxy-initializer + entaxy-management + + + + mvn:ru.entaxy.esb.platform.runtime.core.initializer/init-manager/${project.version} + entaxy-datasources-initializer + entaxy-core-initializer + entaxy-connection-initializer + entaxy-storage-initializer - + + + mvn:ru.entaxy.esb.platform.runtime.core.initializer/datasources-initializer/${project.version}/cfg/datasource-cache + + + mvn:ru.entaxy.esb.platform.runtime.core.initializer/datasources-initializer/${project.version}/cfg/datasource-storage + + + osgi.service;effective:=active;objectClass=javax.sql.DataSource;osgi.jndi.service.name=entaxy.esb.cache; + + + osgi.service;effective:=active;objectClass=javax.sql.DataSource;osgi.jndi.service.name=entaxy.esb.storage; + + + + + mvn:ru.entaxy.esb.platform.runtime.core.initializer/datasources-initializer/${project.version} + + + + mvn:ru.entaxy.esb.platform.runtime.core.initializer/core-initializer/${project.version} + + + + + mvn:ru.entaxy.esb.platform.runtime.core.initializer/connection-initializer/${project.version}/json/init-config + + mvn:ru.entaxy.esb.platform.runtime.core.initializer/connection-initializer/${project.version} + + + + entaxy-karaf-liquibase-support + mvn:ru.entaxy.esb.platform.runtime.core.initializer.storage.initializer/liquibase-updater/${project.version} + mvn:ru.entaxy.esb.platform.runtime.core.initializer.storage.initializer/storage-esb_entaxy/${project.version} + mvn:ru.entaxy.esb.platform.runtime.core.initializer.storage.initializer/storage-cache/${project.version} + + + mvn:ru.entaxy.esb.platform.runtime.core.management/connection-manager/${project.version} - - storage-initializer - mvn:ru.entaxy.esb.platform.runtime.core.initializer/init-manager/${project.version} - mvn:ru.entaxy.esb.platform.runtime.core.initializer/core-initializer/${project.version} - mvn:ru.entaxy.esb.platform.runtime.core.initializer/datasources-initializer/${project.version} - mvn:ru.entaxy.esb.platform.runtime.core.initializer/connection-initializer/${project.version} - - - - mvn:ru.entaxy.esb.platform.runtime.core.initializer.storage.initializer/liquibase-updater/${project.version} - mvn:ru.entaxy.esb.platform.runtime.core.initializer.storage.initializer/storage-esb_entaxy/${project.version} - mvn:ru.entaxy.esb.platform.runtime.core.initializer.storage.initializer/storage-cache/${project.version} - - - + \ No newline at end of file diff --git a/platform/runtime/modules/src/main/features/features.xml b/platform/runtime/modules/src/main/features/features.xml new file mode 100644 index 00000000..c1e950be --- /dev/null +++ b/platform/runtime/modules/src/main/features/features.xml @@ -0,0 +1,39 @@ + + + + + + + mvn:ru.entaxy.esb.platform.runtime/base/${project.version}/xml/features + mvn:ru.entaxy.esb.platform.runtime/core/${project.version}/xml/features + mvn:ru.entaxy.esb.platform.runtime.modules/uniform-service/${project.version}/xml/features + + + entaxy-platform-base + entaxy-platform-core + + entaxy-uniform-service + + + diff --git a/platform/runtime/modules/uniform-service/connector/src/main/resources/template/uniform-service-in-connector.ftl b/platform/runtime/modules/uniform-service/connector/src/main/resources/template/uniform-service-in-connector.ftl index 16e759c8..f1ab55a5 100644 --- a/platform/runtime/modules/uniform-service/connector/src/main/resources/template/uniform-service-in-connector.ftl +++ b/platform/runtime/modules/uniform-service/connector/src/main/resources/template/uniform-service-in-connector.ftl @@ -73,7 +73,7 @@ - + @@ -250,7 +250,7 @@ <#else> - + uniform-service @@ -280,11 +280,11 @@ - + count(/soap-type:packets/soap-type:packet) - ${headers.NTX_1C_EXCHANGE_PacketCount} > 1 + ${headers.NTX_UNIFORM_EXCHANGE_PacketCount} > 1 diff --git a/platform/runtime/modules/uniform-service/connector/src/main/resources/template/uniform-service-out-connector.ftl b/platform/runtime/modules/uniform-service/connector/src/main/resources/template/uniform-service-out-connector.ftl index b8387831..ba52fb5b 100644 --- a/platform/runtime/modules/uniform-service/connector/src/main/resources/template/uniform-service-out-connector.ftl +++ b/platform/runtime/modules/uniform-service/connector/src/main/resources/template/uniform-service-out-connector.ftl @@ -69,7 +69,7 @@ - + - mvn:ru.entaxy.esb/karaf-features/${project.version}/xml/features + @@ -16,8 +16,6 @@ mvn:ru.entaxy.esb.platform.runtime.modules/uniform-service/${project.version}/cfg/uniform.service.ignite - entaxy-common - mvn:ru.entaxy.esb.platform.runtime.modules.uniform.service/support/${project.version} mvn:ru.entaxy.esb.platform.runtime.modules.uniform.service/connector/${project.version} diff --git a/platform/runtime/modules/uniform-service/uniform-service-endpoint/LICENSE.txt b/platform/runtime/modules/uniform-service/uniform-service-endpoint/LICENSE.txt index 261eeb9e..e69de29b 100644 --- a/platform/runtime/modules/uniform-service/uniform-service-endpoint/LICENSE.txt +++ b/platform/runtime/modules/uniform-service/uniform-service-endpoint/LICENSE.txt @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/platform/runtime/modules/uniform-service/uniform-service-endpoint/pom.xml b/platform/runtime/modules/uniform-service/uniform-service-endpoint/pom.xml index 106c59e4..259b5da5 100644 --- a/platform/runtime/modules/uniform-service/uniform-service-endpoint/pom.xml +++ b/platform/runtime/modules/uniform-service/uniform-service-endpoint/pom.xml @@ -5,7 +5,7 @@ ru.entaxy.esb.platform.runtime.modules uniform-service - 1.8.0 + 1.8 4.0.0 diff --git a/platform/src/main/features/features.xml b/platform/src/main/features/features.xml index bcc5f4fe..356d825a 100644 --- a/platform/src/main/features/features.xml +++ b/platform/src/main/features/features.xml @@ -19,17 +19,452 @@ ~~~~~~/licensing~~~~~~ --> - - + mvn:org.apache.camel.karaf/apache-camel/${camel.version}/xml/features + mvn:org.apache.activemq/artemis-features/${activemq.version}/xml/features + mvn:org.hibernate/hibernate-osgi/${hibernate.version}/xml/karaf + mvn:org.apache.karaf.cellar/apache-karaf-cellar/${cellar.version}/xml/features + mvn:org.apache.ignite/ignite-osgi-karaf/${ignite.version}/xml/features + mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features + mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.4.4/xml/features + mvn:org.apache.karaf.features/spring/4.2.9/xml/features + + + + mvn:ru.entaxy.esb.distribution/entaxy-karaf-features/${project.version}/xml/features + mvn:ru.entaxy.esb.distribution/entaxy-karaf-kar/${project.version}/xml/features + + mvn:ru.entaxy.esb.platform.runtime/base/${project.version}/xml/features + mvn:ru.entaxy.esb.platform.runtime/core/${project.version}/xml/features + mvn:ru.entaxy.esb.platform.runtime/modules/${project.version}/xml/features + + - - mvn:ru.entaxy.esb.platform.runtime.base/branding/${project.version}/properties/branding + + + entaxy-karaf-configuration + entaxy-karaf-basic + entaxy-karaf-runtime + + + + + + + + + entaxy-karaf + entaxy-legacy + + + entaxy-platform-components + enatxy-platform-modules-components + + + + + entaxy-karaf-configuration + wrap + + shell + feature + jaas + ssh + management + bundle + config + deployer + diagnostic + feature + instance + kar + log + package + service + system + + + + entaxy-karaf-configuration + entaxy-karaf-basic + scheduler + eventadmin + aries-blueprint + + cellar + cellar-eventadmin + cxf + + + camel + camel-blueprint + camel-jaxb + camel-cxf + camel-amqp + camel-core + camel-http + + hibernate + jdbc + pax-jdbc-pool-dbcp2 + jndi + + camel-eventadmin + camel-quartz + camel-jsonpath + camel-gson + camel-ognl + + entaxy-karaf-commons-support + entaxy-karaf-liquibase-support + + entaxy-karaf-artemis-jms-support + artemis-jms-client + camel-jms + + + + spring + spring-tx + spring-jdbc + jpa + entaxy-karaf-db-support + + ignite-core + entaxy-karaf-ignite-support + camel-ignite + camel-sql + + entaxy-karaf-jaxb-support + + + + wrapper + shell-compat + camel-jpa + camel-jaxb + camel-base64 + camel-zip-deflater + camel-zipfile + + + + entaxy-karaf-basic + entaxy-karaf-runtime + entaxy-karaf + entaxy-legacy + karaf-camel-common + entaxy-legacy-system + entaxy-legacy-blueprint-generator + + entaxy-platform-base + entaxy-platform-core + + entaxy-legacy-for-modules + + + + entaxy-platform-base + entaxy-platform-core + entaxy-legacy-for-modules + + entaxy-platform-modules + + + + + + + entaxy-karaf-basic + entaxy-karaf-runtime + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb - + karaf-camel-common + entaxy-legacy-system + entaxy-legacy-blueprint-generator + + + + + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.freemarker/2.3.29_1 + mvn:ru.entaxy.esb.system.management.blueprint.generator/blueprint-generator/${project.version} + + + + camel-gson + camel-jms + camel-sql + hibernate + artemis-jms-client + cxf-xjc-runtime + ignite-core + ignite-jcl + wss4j + entaxy-karaf-artemis-jms-support + + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb + + mvn:ru.entaxy.esb.system.commons/system-commons/${project.version} + mvn:ru.entaxy.esb.system.core/template/${project.version} + + + + mvn:ru.entaxy.esb.system/component-bean-fix/${project.version} + + osgi.service;objectClass=org.apache.aries.blueprint.NamespaceHandler;osgi.service.blueprint.namespace=http://camel.apache.org/schema/blueprint;effective:=active; + + + + + entaxy-legacy-connector-api + mvn:ru.entaxy.esb.system.registry.systems/system-api/${project.version} + mvn:ru.entaxy.esb.system.registry.systems/system-impl/${project.version} + + + + entaxy-legacy + entaxy-legacy-system-api + + entaxy-legacy-deployer + entaxy-legacy-profile-commons + entaxy-legacy-bundle-service + entaxy-legacy-connectors + + entaxy-platform-base + entaxy-platform-core + + mvn:ru.entaxy.esb.system.management.profile.manager/profile-manager/${project.version} + mvn:ru.entaxy.esb.system.management.route.manager/route-manager/${project.version} + + + entaxy-legacy-error-handler + entaxy-legacy-system-profile + + mvn:ru.entaxy.esb.system.management.bridge.profile.manager/bridge-profile-manager/${project.version} + + entaxy-legacy-system-management + + mvn:ru.entaxy.esb.system.registry.systems/system-component/${project.version} + + entaxy-legacy-system-groups + entaxy-legacy-permissions + + mvn:ru.entaxy.esb.system.management.bundle.manager/bundle-manager/${project.version} + mvn:ru.entaxy.esb.system.management.connector.manager/connector-manager/${project.version} + + entaxy-legacy-events + entaxy-legacy-schema + entaxy-legacy-basic-auth + + + osgi.service;objectClass=org.hibernate.SessionFactory;effective:=active; + + + + + + + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.system.schema + + + mvn:ru.entaxy.esb.system.registry.schema/schema-api/${project.version} + mvn:ru.entaxy.esb.system.registry.schema/schema-impl/${project.version} + mvn:ru.entaxy.esb.system.registry.schema/schema-soap/${project.version} + mvn:ru.entaxy.esb.system.registry.schema/schema-component/${project.version} + + osgi.service;objectClass=org.hibernate.SessionFactory;effective:=active; + + + + + mvn:ru.entaxy.esb.system.registry.systems.profile/system-profile-api/${project.version} + mvn:ru.entaxy.esb.system.registry.systems.profile/system-profile-collector/${project.version} + mvn:ru.entaxy.esb.system.registry.systems.profile/system-profile-impl-default/${project.version} + + + + + mvn:ru.entaxy.esb.system.core.events/events-common/${project.version} + mvn:ru.entaxy.esb.system.core.events/events-api/${project.version} + mvn:ru.entaxy.esb.system.core.events/events-impl/${project.version} + + + osgi.service;objectClass=org.hibernate.SessionFactory;effective:=active; + + + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.system.event.rest + + + mvn:ru.entaxy.esb.system.core.events/events-rest/${project.version} + + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.system.event.handler + + + mvn:ru.entaxy.esb.system.core.events/events-handler/${project.version} + + + osgi.service;effective:=active;objectClass=javax.sql.DataSource;osgi.jndi.service.name=entaxy.esb.cache; + + + + + + mvn:ru.entaxy.esb.system.registry.system-groups.profile/system-group-profile-api/${project.version} + + + mvn:ru.entaxy.esb.system.registry.system-groups.profile/system-group-profile-collector/${project.version} + + + mvn:ru.entaxy.esb.system.registry.system-groups.profile/system-group-profile-impl-default/${project.version} + + mvn:ru.entaxy.esb.system.registry.system-groups/system-group-component/${project.version} + + + + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.system.management + + mvn:ru.entaxy.esb.system.management/system-management-api/${project.version} + + osgi.service;objectClass=org.hibernate.SessionFactory;effective:=active; + + + + + + entaxy-legacy-system-api + entaxy-legacy-permissions-api + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.system.basic_auth + + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.system.basic_auth.htpasswd + + + mvn:ru.entaxy.esb.system.auth.basic.api/basic-auth-api/${project.version} + mvn:ru.entaxy.esb.system.auth.basic.impl/basic-auth-impl/${project.version} + mvn:ru.entaxy.esb.system.auth.basic.htpasswd/htpasswd/${project.version} + mvn:ru.entaxy.esb.system.auth.basic/basic-auth-soap/${project.version} + + osgi.service;objectClass=org.hibernate.SessionFactory;effective:=active; + + + + + bundle + camel-blueprint + camel-http + camel-cxf + cellar + + mvn:ru.entaxy.esb.system.deployer/deployer-api/${project.version} + mvn:ru.entaxy.esb.system.deployer/file-system-deployer/${project.version} + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.deployer.file.system + + + mvn:org.eclipse.aether/aether-api/${aether.version} + mvn:ru.entaxy.esb.system.deployer/nexus-deployer/${project.version} + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.deployer.nexus + + + mvn:ru.entaxy.esb.system.deployer/cellar-deployer/${project.version} + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.deployer.cellar + + + + + mvn:ru.entaxy.esb.system.core.dispatcher/dispatcher/${project.version} + mvn:ru.entaxy.esb.system.registry.profile.commons/profile-commons/${project.version} + + + + entaxy-legacy-system + entaxy-legacy-deployer + mvn:ru.entaxy.esb.system.core.dispatcher/dispatcher/${project.version} + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.freemarker/2.3.29_1 + mvn:ru.entaxy.esb.system.management.bundle.jpa/bundle-service/${project.version} + + osgi.service;objectClass=org.hibernate.SessionFactory;effective:=active; + + + + + entaxy-legacy-bundle-service + mvn:ru.entaxy.esb.system.registry.connector/connector-api/${project.version} + + + + entaxy-legacy-connector-api + + mvn:ru.entaxy.esb.system.registry.connector/connector-impl/${project.version} + + + + + + mvn:ru.entaxy.esb.system.core/error-handler/${project.version} + + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.error + + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.error.code + + + mvn:ru.entaxy.esb/karaf-features/${project.version}/cfg/ru.entaxy.esb.error.text + + + + + mvn:ru.entaxy.esb.system.core.permission/permission-api/${project.version} + mvn:ru.entaxy.esb.system.core.permission/permission-common/${project.version} + + osgi.service;objectClass=org.hibernate.SessionFactory;effective:=active; + + + + + entaxy-legacy-permissions-api + + mvn:ru.entaxy.esb.system.core.permission/permission-handler/${project.version} + mvn:ru.entaxy.esb.system.core.permission/permission-component/${project.version} + mvn:ru.entaxy.esb.system.core.permission/permission-impl/${project.version} + + entaxy-legacy-basic-auth + + mvn:ru.entaxy.esb.system.core.permission/permission-soap/${project.version} + mvn:ru.entaxy.esb.system.management.permission.manager/permission-manager/${project.version} + diff --git a/platform/src/main/scripts/entaxy-platform.install b/platform/src/main/scripts/entaxy-platform.install new file mode 100644 index 00000000..e8063cb4 --- /dev/null +++ b/platform/src/main/scripts/entaxy-platform.install @@ -0,0 +1,85 @@ +### +# ~~~~~~licensing~~~~~~ +# platform +# ========== +# Copyright (C) 2020 - 2021 EmDev LLC +# ========== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ~~~~~~/licensing~~~~~~ +### +echo +echo +echo "************" +echo "Welcome to Entaxy platform installation script" +echo "************" + +echo +echo "** Checking feature repository: ${project.groupId}/${project.artifactId}/${project.version}/xml/features ..." + +_repo = (feature:repo-list | grep ru.entaxy.esb/platform) +_repo_length = ($_repo length) +if { $_repo_length'' equals "0" } { + echo "\>\> Installing Entaxy repository..." + feature:repo-add mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features + echo "\>\> ... installed" +} else { + echo "\>\> Entaxy repository is already installed" +} + +echo +echo "** Checking entaxy-karaf-configuration feature ..." + +_config = [((feature:list | grep entaxy-karaf-configuration) split '\|')] +_status = (($_config get 3) trim) +if { $_status equals "Uninstalled" } { + echo "\>\> Installing feature..." + feature:install entaxy-karaf-configuration + echo "\>\> ... installed" + echo + if { $1'' equals "skipReboot" } { + echo "** the system will skip reboot for applying JRE exports" + echo " \( see etc/jre.properties \)" + echo " due to 'skipReboot argument'" + echo "** If further installation will fail with errors please reboot" + } else { + echo "** the system will reboot now to apply JRE exports" + echo " \( see etc/jre.properties \)" + echo + echo "** PLEASE RUN THE SCRIPT AGAIN AFTER RESTART **" + shutdown -r -f + } +} else { + echo "\>\> Entaxy configuration is already installed" +} + +echo +_config = [((feature:list | grep entaxy-karaf-configuration) split '\|')] +_status = (($_config get 3) trim) +if { NOT { $_status equals "Started" } } { + echo "** Current configuration feature status is " $_status + echo "** Please clean the container and run installation again " +} else { + echo "** Installing Entaxy platform in verbose mode..." + _platform = [((feature:list | grep entaxy-platform) split '\|')] + _status = (($_platform get 3) trim) + if { $_status equals "Uninstalled" } { + feature:install -v entaxy-platform + echo + echo "\>\> ... installed" + } else { + echo "\>\> Entaxy platform is already installed" + } +} + +echo +echo "** Thank you!" diff --git a/pom.xml b/pom.xml index 93f2a14c..81b5ca47 100644 --- a/pom.xml +++ b/pom.xml @@ -36,13 +36,21 @@ 2.1.0 1.1.0 4.2.1 + 5.2.5.RELEASE_1 1.3.1.Final 2.8.1 3.9.1 2.8.5 3.6.3 7.4.1.jre8 - 42.2.5 + + + 42.2.9 1.7.30 1.2 1.2 @@ -267,11 +275,6 @@ maven-deploy-plugin ${maven-deploy-plugin.version} - - org.codehaus.mojo - license-maven-plugin - 2.0.0 - @@ -281,7 +284,7 @@ ${maven-bundle-plugin.version} true - NONE + NONE ${project.artifactId} ${project.description} @@ -356,7 +359,7 @@ - + @@ -374,7 +377,7 @@ - + @@ -442,7 +445,7 @@ https://nexus.entaxy.ru/nexus/repository/entaxy-public-entaxy/ - + + + aggregate-add-third-party + + aggregate-add-third-party + + prepare-package + + ${project.build.directory}/generated-sources/license + ALL-DEPENDENCIES + + true + false + true + ^ru\.entaxy\.esb + test, provided + + Apache License, Version 2.0|The Apache Software License, Version 2.0|The Apache License, Version 2.0|Apache 2.0 License|Apache 2.0 + EDL 1.0|Eclipse Distribution License v. 1.0|Eclipse Distribution License - v 1.0 + EPL 2.0|Eclipse Public License v. 2.0 + EPL 1.0|Eclipse Public License v. 1.0|Eclipse Public License v1.0 + CDDL/GPLv2+CE|CDDL + GPLv2 with classpath exception + GPLv2+CE|GPL2 w/ CPE + CDDL/GPL|CDDL+GPL License + LGPL|lgpl|GNU Lesser General Public License + BSD|The BSD License + MIT|MIT License + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + + 3.2.0 + + + attach-dependencies + package + + attach-artifact + + + + + target/generated-sources/license/ALL-DEPENDENCIES + deps + aggregated + + + + + + + + + + + - - - - org.codehaus.mojo - license-maven-plugin - - - - aggregate-add-third-party - - aggregate-add-third-party - - prepare-package - - ${project.build.directory}/generated-sources/license - ALL-DEPENDENCIES - - false - false - true - ^ru\.entaxy\.esb - test, provided - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - - - attach-artifacts - package - - attach-artifact - - - - - target/generated-sources/license/ALL-DEPENDENCIES - deps - aggregated - - - - - - - - - - - diff --git a/system/auth/pom.xml b/system/auth/pom.xml index 2fc4ca78..7acfbd23 100644 --- a/system/auth/pom.xml +++ b/system/auth/pom.xml @@ -7,7 +7,7 @@ ru.entaxy.esb.system system-parent - 1.8.0 + 1.8 ru.entaxy.esb.system.auth diff --git a/system/registry/connectors/pom.xml b/system/registry/connectors/pom.xml index 927abb6d..40e13598 100644 --- a/system/registry/connectors/pom.xml +++ b/system/registry/connectors/pom.xml @@ -5,7 +5,7 @@ ru.entaxy.esb.system.registry registry - 1.8.0 + 1.8 ../../registry/pom.xml 4.0.0 diff --git a/system/registry/processes/pom.xml b/system/registry/processes/pom.xml index 814b2745..cc33079a 100644 --- a/system/registry/processes/pom.xml +++ b/system/registry/processes/pom.xml @@ -7,7 +7,7 @@ ru.entaxy.esb.system.registry registry - 1.8.0 + 1.8 ../../registry/pom.xml diff --git a/system/registry/profile-commons/pom.xml b/system/registry/profile-commons/pom.xml index e56b00eb..3adabcbb 100644 --- a/system/registry/profile-commons/pom.xml +++ b/system/registry/profile-commons/pom.xml @@ -7,7 +7,7 @@ ru.entaxy.esb.system.registry registry - 1.8.0 + 1.8 ../../registry/pom.xml diff --git a/system/registry/schema/pom.xml b/system/registry/schema/pom.xml index bdebb9cd..34a6ac17 100644 --- a/system/registry/schema/pom.xml +++ b/system/registry/schema/pom.xml @@ -5,7 +5,7 @@ ru.entaxy.esb.system.registry registry - 1.8.0 + 1.8 ../../registry/pom.xml 4.0.0 diff --git a/system/registry/system-groups/pom.xml b/system/registry/system-groups/pom.xml index 35484357..d366959d 100644 --- a/system/registry/system-groups/pom.xml +++ b/system/registry/system-groups/pom.xml @@ -7,7 +7,7 @@ ru.entaxy.esb.system.registry registry - 1.8.0 + 1.8 ../../registry/pom.xml diff --git a/system/registry/system-groups/system-group-api/pom.xml b/system/registry/system-groups/system-group-api/pom.xml index 2282050e..8db1f579 100644 --- a/system/registry/system-groups/system-group-api/pom.xml +++ b/system/registry/system-groups/system-group-api/pom.xml @@ -5,7 +5,7 @@ system-groups ru.entaxy.esb.system.registry.system-groups - 1.8.0 + 1.8 4.0.0 diff --git a/system/registry/system-groups/system-group-component/pom.xml b/system/registry/system-groups/system-group-component/pom.xml index 685fa914..c7b7e254 100644 --- a/system/registry/system-groups/system-group-component/pom.xml +++ b/system/registry/system-groups/system-group-component/pom.xml @@ -5,7 +5,7 @@ system-groups ru.entaxy.esb.system.registry.system-groups - 1.8.0 + 1.8 4.0.0 diff --git a/system/registry/system-groups/system-group-impl/pom.xml b/system/registry/system-groups/system-group-impl/pom.xml index 0fbe4008..804cafc4 100644 --- a/system/registry/system-groups/system-group-impl/pom.xml +++ b/system/registry/system-groups/system-group-impl/pom.xml @@ -5,7 +5,7 @@ system-groups ru.entaxy.esb.system.registry.system-groups - 1.8.0 + 1.8 4.0.0 diff --git a/system/registry/system-groups/system-group-profile/pom.xml b/system/registry/system-groups/system-group-profile/pom.xml index 97b429c7..6d528e41 100644 --- a/system/registry/system-groups/system-group-profile/pom.xml +++ b/system/registry/system-groups/system-group-profile/pom.xml @@ -5,7 +5,7 @@ ru.entaxy.esb.system.registry.system-groups system-groups - 1.8.0 + 1.8 ../../system-groups/pom.xml diff --git a/system/registry/system-groups/system-group-profile/system-group-profile-api/pom.xml b/system/registry/system-groups/system-group-profile/system-group-profile-api/pom.xml index 098f9f8e..f5c4bd74 100644 --- a/system/registry/system-groups/system-group-profile/system-group-profile-api/pom.xml +++ b/system/registry/system-groups/system-group-profile/system-group-profile-api/pom.xml @@ -6,7 +6,7 @@ ru.entaxy.esb.system.registry.system-groups.profile system-group-profile - 1.8.0 + 1.8 ../../system-group-profile/pom.xml diff --git a/system/registry/system-groups/system-group-profile/system-group-profile-collector/pom.xml b/system/registry/system-groups/system-group-profile/system-group-profile-collector/pom.xml index c3481397..c09a0ddd 100644 --- a/system/registry/system-groups/system-group-profile/system-group-profile-collector/pom.xml +++ b/system/registry/system-groups/system-group-profile/system-group-profile-collector/pom.xml @@ -6,7 +6,7 @@ ru.entaxy.esb.system.registry.system-groups.profile system-group-profile - 1.8.0 + 1.8 ../../system-group-profile/pom.xml diff --git a/system/registry/system-groups/system-group-profile/system-group-profile-impl-default/pom.xml b/system/registry/system-groups/system-group-profile/system-group-profile-impl-default/pom.xml index ca6c9678..f9890120 100644 --- a/system/registry/system-groups/system-group-profile/system-group-profile-impl-default/pom.xml +++ b/system/registry/system-groups/system-group-profile/system-group-profile-impl-default/pom.xml @@ -6,7 +6,7 @@ ru.entaxy.esb.system.registry.system-groups.profile system-group-profile - 1.8.0 + 1.8 ../../system-group-profile/pom.xml diff --git a/system/registry/systems/pom.xml b/system/registry/systems/pom.xml index 2bb7eb7e..b0c2524e 100644 --- a/system/registry/systems/pom.xml +++ b/system/registry/systems/pom.xml @@ -7,7 +7,7 @@ ru.entaxy.esb.system.registry registry - 1.8.0 + 1.8 ../../registry/pom.xml diff --git a/system/registry/systems/system-api/pom.xml b/system/registry/systems/system-api/pom.xml index b0b613b2..10fd09b7 100644 --- a/system/registry/systems/system-api/pom.xml +++ b/system/registry/systems/system-api/pom.xml @@ -6,7 +6,7 @@ ru.entaxy.esb.system.registry.systems systems - 1.8.0 + 1.8 ../../systems/pom.xml diff --git a/system/registry/systems/system-component/pom.xml b/system/registry/systems/system-component/pom.xml index 307db211..e4623996 100644 --- a/system/registry/systems/system-component/pom.xml +++ b/system/registry/systems/system-component/pom.xml @@ -8,7 +8,7 @@ ru.entaxy.esb.system.registry.systems systems - 1.8.0 + 1.8 ../../systems/pom.xml diff --git a/system/registry/systems/system-impl/pom.xml b/system/registry/systems/system-impl/pom.xml index ba3de29e..e06d03c9 100644 --- a/system/registry/systems/system-impl/pom.xml +++ b/system/registry/systems/system-impl/pom.xml @@ -6,7 +6,7 @@ ru.entaxy.esb.system.registry.systems systems - 1.8.0 + 1.8 ../../systems/pom.xml diff --git a/system/registry/systems/system-profile/pom.xml b/system/registry/systems/system-profile/pom.xml index dc613349..23af9896 100644 --- a/system/registry/systems/system-profile/pom.xml +++ b/system/registry/systems/system-profile/pom.xml @@ -7,7 +7,7 @@ ru.entaxy.esb.system.registry.systems systems - 1.8.0 + 1.8 ../../systems/pom.xml diff --git a/system/registry/systems/system-profile/system-profile-api/pom.xml b/system/registry/systems/system-profile/system-profile-api/pom.xml index 1f84b5e2..3f8438e2 100644 --- a/system/registry/systems/system-profile/system-profile-api/pom.xml +++ b/system/registry/systems/system-profile/system-profile-api/pom.xml @@ -6,7 +6,7 @@ ru.entaxy.esb.system.registry.systems.profile system-profile - 1.8.0 + 1.8 ../../system-profile/pom.xml diff --git a/system/registry/systems/system-profile/system-profile-collector/pom.xml b/system/registry/systems/system-profile/system-profile-collector/pom.xml index 099157d4..6c770c78 100644 --- a/system/registry/systems/system-profile/system-profile-collector/pom.xml +++ b/system/registry/systems/system-profile/system-profile-collector/pom.xml @@ -6,7 +6,7 @@ ru.entaxy.esb.system.registry.systems.profile system-profile - 1.8.0 + 1.8 ../../system-profile/pom.xml diff --git a/system/registry/systems/system-profile/system-profile-impl-default/pom.xml b/system/registry/systems/system-profile/system-profile-impl-default/pom.xml index 9e9fbccf..71675829 100644 --- a/system/registry/systems/system-profile/system-profile-impl-default/pom.xml +++ b/system/registry/systems/system-profile/system-profile-impl-default/pom.xml @@ -6,7 +6,7 @@ ru.entaxy.esb.system.registry.systems.profile system-profile - 1.8.0 + 1.8 ../../system-profile/pom.xml diff --git a/system/transformer/pom.xml b/system/transformer/pom.xml index d0561333..f6a123cf 100644 --- a/system/transformer/pom.xml +++ b/system/transformer/pom.xml @@ -8,7 +8,7 @@ ru.entaxy.esb.system system-parent - 1.0-SNAPSHOT + 1.8 system-transformer