Publishing (enum)
The available policies as to whether data should be published to corresponding subscribers. The framework supports several kinds of data that are available for publishing:
-
EntityChanges … subscribed to via EntityChangesSubscriber
* * *_EntityPropertyChange_ ... subscribed to via xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber]*
* * *xref:refguide:applib:index/services/command/Command.adoc[Command] ... subscribed to via xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber]*
* * *xref:refguide:applib:index/services/iactn/Execution.adoc[Execution] ... subscribed to via xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber]*
-
* * *
-
API
enum Publishing {
AS_CONFIGURED (1)
ENABLED (2)
ENABLED_FOR_UPDATES_ONLY (3)
DISABLED (4)
NOT_SPECIFIED (5)
}
| 1 | AS_CONFIGURED
Publishing of data triggered by interaction with this object should be handled as per the default publishing policy configured in |
| 2 | ENABLED
Do publish data triggered by interaction with this object. |
| 3 | ENABLED_FOR_UPDATES_ONLY
Applies only to EntityPropertyChangeSubscriber , whereby events are published for modifications to the object, but no events are published for the initial creation of an object. |
| 4 | DISABLED
Do not publish data triggered by interaction with this object (even if otherwise configured to enable publishing). |
| 5 | NOT_SPECIFIED
Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta annotations or super-classes/interfaces). |
Members
AS_CONFIGURED
Publishing of data triggered by interaction with this object should be handled as per the default publishing policy configured in application.properties .
If no publishing policy is configured, then publishing is disabled.
ENABLED_FOR_UPDATES_ONLY
Applies only to EntityPropertyChangeSubscriber , whereby events are published for modifications to the object, but no events are published for the initial creation of an object.
In the case of audit trail extension, this effectively suppresses all of the "[NEW] → value" entries that are created for every property of the entity when it is being created, and also all of the "value → [DELETED]" entries that are created for every property of the entity when it is being deleted.
This variant is intended only where the application code has enough traceability built into the domain (perhaps to provide visibility to the end-users) that the technical auditing is overkill. It will also of course reduce the volume of auditing, so improves performance (likely both response times and throughput).
For other subscribers, behaviour is the same as #ENABLED .