ENTAXY-374 release 1.8.2
This commit is contained in:
@ -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": []
|
||||
},
|
||||
|
@ -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 в том что “++” используется, как разделитель.
|
||||
|
||||
|
171
documentation/extras/eav.adoc
Normal file
171
documentation/extras/eav.adoc
Normal 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
|
||||
|служебное поле для хранения значения
|
||||
|
||||
|===
|
BIN
documentation/extras/eav_objects.png
Normal file
BIN
documentation/extras/eav_objects.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
@ -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
|
||||
|
@ -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]
|
||||
|
||||
|
Reference in New Issue
Block a user