Execution Publishing
The executionPublishing() element determines whether and how an action invocation is published via the registered implementation of ExecutionSubscriber.
A common use case is to notify external "downstream" systems of changes in the state of the Apache Causeway application.
The causeway.applib.annotation.property.execution-publishing configuration property is used to determine the whether the action invocation is published:
-
allall action invocations are published
-
ignoreSafe(orignoreQueryOnly)invocations of actions with safe (read-only) semantics are ignored, but actions which may modify data are not ignored
-
noneno action invocations are published
If there is no configuration property in application.properties then publishing is automatically enabled.
This default can be overridden on an action-by-action basis; if executionPublishing() is set to ENABLED then the action invocation is published irrespective of the configured value; if set to DISABLED then the action invocation is not published, again irrespective of the configured value.
For example:
public class Order {
@Action(executionPublishing=Publishing.ENABLED) (1)
public Invoice generateInvoice(...) {
// ...
}
}
| 1 | because set to enabled, will be published irrespective of the configured value. |