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

Publishing.java
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 application.properties .

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

Do publish data triggered by interaction with this object.

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 .

DISABLED

Do not publish data triggered by interaction with this object (even if otherwise configured to enable publishing).

NOT_SPECIFIED

Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta annotations or super-classes/interfaces).