ENTAXY-374 release 1.8.2

This commit is contained in:
2022-08-23 13:40:11 +03:00
parent b68642f81c
commit 1061b96c7e
616 changed files with 60896 additions and 3202 deletions

View File

@ -1897,7 +1897,7 @@
"system-management"
]
},
"description": "Создать сразу несколько доступов, которым разрешено отправлять сообщения от данной системы, можно с помощью метода сreatePermissionForObjectRequest, где “objectUuid” это uuid системы, от которой буду исходить сообщения, “subjectUuid1”, “subjectUuid2” и т д, это uuid систем, которым будут отправлять сообщения\n"
"description": "Создать сразу несколько доступов, которым разрешено отправлять сообщения от данной системы, можно с помощью метода createPermissionForObjectRequest, где “objectUuid” это uuid системы, от которой буду исходить сообщения, “subjectUuid1”, “subjectUuid2” и т д, это uuid систем, которым будут отправлять сообщения\n"
},
"response": []
},
@ -1979,7 +1979,7 @@
"system-management"
]
},
"description": "Создать сразу несколько доступов, которым разрешено отправлять сообщения в данную систему, можно с помощью метода сreatePermissionForSubjectRequest, где “objectUuid1”, “objectUuid2” и т д - это uuid систем, от которых буду исходить сообщения, “subjectUuid” - это uuid системы, которой будут отправлять сообщения\n"
"description": "Создать сразу несколько доступов, которым разрешено отправлять сообщения в данную систему, можно с помощью метода createPermissionForSubjectRequest, где “objectUuid1”, “objectUuid2” и т д - это uuid систем, от которых буду исходить сообщения, “subjectUuid” - это uuid системы, которой будут отправлять сообщения\n"
},
"response": []
}
@ -2973,7 +2973,7 @@
"schema"
]
},
"description": "Для корректирования мета информации ресурса в шине есть метод еditResourceInfo.\n\n\n\n\n"
"description": "Для корректирования мета информации ресурса в шине есть метод editResourceInfo.\n\n\n\n\n"
},
"response": []
},

View File

@ -64,7 +64,7 @@ redelivery.redeliveryDelay=5000
#cron - по умолчанию запускается каждые 00:00:00,
#cron выражение использует знак "+" как разделитель для модуля quartz2l
quirtz.job.clean.cron=0+0+0+*+*+?+*
quartz.job.clean.cron=0+0+0+*+*+?+*
----
- _ru.entaxy.esb.system.event.rest.cfg_
@ -550,6 +550,6 @@ _POST server:9090/topic-subscription/publish_
Т.к. удаление топиков происходит в 2 этапа, с помощью планировщика _Quartz2_, работающего в кластере, запускается задача по очистке. Запуск происходит в конкурентном режиме, узел первый запустивший задачу получает приоритет, на остальных узлах задача останавливается до следующего запуска.
Частота запуска задачи настраивается в конфигурационном файле _ru.entaxy.esb.system.event.handler.cfg_ в свойстве quirtz.job.clean.cron=0+0+0+*+*+?+*
Частота запуска задачи настраивается в конфигурационном файле _ru.entaxy.esb.system.event.handler.cfg_ в свойстве quartz.job.clean.cron=0+0+0+*+*+?+*
с помощью cron выражения. Особенность cron выражения для quartz в том что “++” используется, как разделитель.

View File

@ -0,0 +1,171 @@
= Хранилище данных EAV
== Описание модуля EXTRAS :: ENTAXY :: EAV (Entity, Attribute, Value)
Хранилище данных EAV реализует модель _Сущность-Атрибут-Значение_ - это модель данных, предназначенная для описания сущностей, в которых количество атрибутов (свойств, параметров) не ограничено или не известно заранее.
== Объекты модуля ЕАV
image::eav_objects.png[]
*Внешняя сущность*(External Entity) - любая внешняя сущность относительно модуля EAV.
*Сущность EAV*(Entity EAV) - именованная сущность, связывающая аттрибуты с внешней сущностью.
Модуль предоставляет возможность объединять сущности EAV в одноуровневую иерархию.
*Атрибут*(Attribute) - именованный атрибут сущности EAV, содержит значение и его тип.
*Типы значений:*
* DOUBLE
* LONG
* TEXT
* JSON
== Использование хранилища EAV
В BLUEPRINT подключаем OSGI-сервис EAVProcessor
[source]
----
<reference id="eavProcessor" interface="ru.entaxy.eav.service.EAVProcessor"/>
----
в маршрутах или java коде осуществляем необходимые вызовы для создания/получения/изменения значений.
*Примеры вызовов из маршрута Apache Camel XMLDSL*
Создание атрибута для внешней сущности
[source]
----
<bean ref="eavProcessor" method="createPrimitive('externalIdTest', 'externalTypeTest', 'entityNameTest', 'attributeNameTest', 'textValue', 'testLogin')"/>
----
Получить все значения сохранённой сущности
[source]
----
<bean ref="eavProcessor" method="getEntityWithValues('externalIdTest', 'externalTypeTest', 'entityNameTest')"/>
----
Удалить сохранённые значения
[source]
----
<bean ref="eavProcessor" method="deleteExternalEntity('externalIdTest', 'externalTypeTest')"/>
----
== OSGI-сервис EAVProcessor.
Сервис, выставляющий api для работы с EAV хранилищем.
*Методы:*
* _createPrimitive_ - простой метод сохранения примитивного значения(числового, строкового)
* _createComplex_ - простой метод сохранения комплексного значения(JSON)
* _getEntityWithValues_ - получение значений сущности EAV по имени
* _fetchEntityWithValues_ - получение значений сущности EAV по имени либо null, без исключений
* _getEntityNamedAttributes_ - получение значений с определённым именем для сущности EAV
* _getEntityByNameAndAttributeValue_ - получение сущности EAV по атрибуту
* _getParentEntity_ - получение родительской сущности EAV для внешней связанной сущности
* _getChildEntities_ - получение дочерних сущностей EAV для внешней связанной сущности с именем сущности EAV по умолчанию(PARENT)
* _getChildEntitiesByName_ - получение дочерних сущностей EAV для внешней связанной сущности с указанным именем сущности EAV
* _getByExternalEntity_ - получение всех сущностей EAV для внешней связанной сущности
* _getByAttributeSet_ - получение сущностей EAV по множественным наборов параметров, каждый набор составляется из значений элементов с одним порядковым номером всех списков
* _updateAttribute_ - метод для изменения значения аттрибута
* _deleteExternalEntity_ - удаление всех записей связанных с внешней сущностью
* _deleteEntity_ - удаление именованной сущности EAV
* _deleteAllEntityAttributes_ - удаление атрибутов именованной сущности EAV
* _deleteAllEntityAttributesByName_ - удаление аттрибута сущности EAV с определённым наименованием
* _combineEntities_ - метод для объединения внешних сущностей под 1 родителем
== Схема базы данных(БД).
Схема БД при таком подходе остаётся неизменной независимо от состава и структуры хранимых данных.
Бандл eav-storage разворачивает структуру из 2 таблиц:
*Таблица eav_entity*
|===
|Слолбец |Параметры |Описание
//----------------------
|id
|bigint, not null
|идентификатор сущности модуля EAV
|external_id
|text, not null
|внешний идентификатор связываемой сущности
|external_type
|text, not null
|тип связываемой сущности
|name
|text
|наименование сущности модуля EAV
|parent_id
|bigint, not null, default 0
|идентификатор(поле id) родительской сущности модуля EAV
|create_date
|timestamp, not null
|служебное поле, дата создания
|edit_date
|timestamp
|служебное поле, дата изменения
|created_by
|text, not null
|служебное поле, логин автора записи
|external_type
|text
|служебное поле, логин последнего изменившего сущность
|===
*Таблица eav_attribute*
|===
|Слолбец |Параметры |Описание
//----------------------
|id
|bigint, not null
|идентификатор атрибута
|entity_id
|text, not null
|идентификатор сущности eav_entity
|name
|text, not null
|наименование аттрибута
|type
|text
|тип аттрибута
|double
|double
|служебное поле для хранения значения
|long
|bigint
|служебное поле для хранения значения
|text
|text
|служебное поле для хранения значения
|text2
|text
|служебное поле для хранения значения
|===

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -18,8 +18,8 @@ _Для разработчиков:
-имеет Api, который занимается Crud операциями,
-хранит учетные записи в базе данных,
-предоставляет файл с актуальной информацией для nginx,
-выставляет interсeptor для аутентификации в других сервисах,
-выставляет interсeptor для определения принадлежности аккаунта определённой системе._
-выставляет interceptor для аутентификации в других сервисах,
-выставляет interceptor для определения принадлежности аккаунта определённой системе._
=== permission
@ -32,7 +32,7 @@ _Для разработчиков:
-имеет Api, который занимается Crud операциями
- хранит права в базе данных,
-(camel)компонент, который используется в маршрутах, для проверки возможности отправки из системы a в систему b.
-выставляет interсeptor для авторизации в служебных сервисах._
-выставляет interceptor для авторизации в служебных сервисах._
=== system-management-api

View File

@ -21,7 +21,7 @@ __Alternative languages:__
== Дистрибутивы Entaxy
Сущетсвет несколько вариантов сборок Entaxy, которые доступны по адресу https://entaxy.ru/download
Существует несколько вариантов сборок Entaxy, которые доступны по адресу https://entaxy.ru/download
. `entaxy-assembly-compact*` - все-в-одном, брокер, бд и графический веб-интерфейс в одной сборке. См. xref:#_установка_all_in_one [Установка all-in-one]