Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
devel:documentation:architecture:dev:events [2019/03/15 11:50] tomiskar [Entities with event support] |
devel:documentation:architecture:dev:events [2020/10/29 07:28] tomiskar |
||
---|---|---|---|
Line 109: | Line 109: | ||
* supports base event types '' | * supports base event types '' | ||
* '' | * '' | ||
+ | * supports base event types '' | ||
* adds event type '' | * adds event type '' | ||
* '' | * '' | ||
Line 121: | Line 122: | ||
* '' | * '' | ||
* supports base event types '' | * supports base event types '' | ||
+ | * '' | ||
+ | * supports base event types '' | ||
+ | * '' | ||
+ | * supports base event types '' | ||
+ | * '' | ||
+ | * supports base event types '' | ||
+ | * '' | ||
+ | * supports base event types '' | ||
* '' | * '' | ||
* '' | * '' | ||
Line 156: | Line 165: | ||
- | The default order for listeners ('' | + | The [[# |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
===== Basic interfaces ===== | ===== Basic interfaces ===== | ||
Line 202: | Line 208: | ||
* '' | * '' | ||
+ | |||
+ | ==== AbstractInitApplicationProcessor==== | ||
+ | |||
+ | Use this super class for providing application and module [[.events: | ||
+ | |||
+ | |||
===== Transactions ===== | ===== Transactions ===== | ||
Line 212: | Line 224: | ||
* saving logs and archives in the new transaction ('' | * saving logs and archives in the new transaction ('' | ||
+ | ===== Event properties ===== | ||
+ | |||
+ | Event properties ('' | ||
+ | |||
+ | Event properties are propagated automatically from parent into child event: | ||
+ | * if parent event is given, when child event is published | ||
+ | * if child event doesn' | ||
+ | * properties needed for internal event mechanism are not propagated. Property keys can be found in '' | ||
+ | |||
+ | <note tip>When '' | ||
===== Asynchronous event processing ===== | ===== Asynchronous event processing ===== | ||
Line 248: | Line 270: | ||
Before event is persisted into queue, then event priority is evaluated, priority types: | Before event is persisted into queue, then event priority is evaluated, priority types: | ||
* '' | * '' | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
Events are processed from queue by internal scheduled tasks by priority. Events with '' | Events are processed from queue by internal scheduled tasks by priority. Events with '' | ||
Line 277: | Line 299: | ||
* original source (embedded dtos and audit fields are ignored). | * original source (embedded dtos and audit fields are ignored). | ||
- | Older duplicate events are removed - the newest event is used. Events are processed by priority in bulk, default | + | Older duplicate events are removed - the newest event is used. Events are processed by priority in batch, default |
=== Entity state === | === Entity state === | ||
Line 326: | Line 348: | ||
===== Implemented processors ===== | ===== Implemented processors ===== | ||
- | Basic save and delete | + | **Basic processors for simple operations (e.g. save, delete) are not listed.** All registered processors can be listed in agenda (Settings - Modules - Processors). |
+ | |||
==== Automatic roles processors ==== | ==== Automatic roles processors ==== | ||
<code properties> | <code properties> | ||
Line 628: | Line 652: | ||
idm.sec.core.processor.core-role-code-environment-processor.enabled=true | idm.sec.core.processor.core-role-code-environment-processor.enabled=true | ||
</ | </ | ||
+ | |||
+ | ==== Duplicate role processors ==== | ||
+ | |||
+ | {{page> | ||
+ | |||
+ | |||
+ | |||
===== Example ===== | ===== Example ===== | ||
==== Synchronous processor ==== | ==== Synchronous processor ==== | ||
Line 732: | Line 763: | ||
} | } | ||
</ | </ | ||
+ | |||
===== Future development ===== | ===== Future development ===== |