Execution Publishing

The executionPublishing() element determines whether and how a property edit 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 property edits are published:

  • all

    all property edits are published

  • none

    no property edits are published

If there is no configuration property in application.properties then publishing is automatically enabled.

This default can be overridden on an property-by-property basis; if executionPublishing() is set to ENABLED then the property edit is published irrespective of the configured value; if set to DISABLED then the property edit is not published, again irrespective of the configured value.

For example:

import lombok.Getter;
import lombok.Setter;

public class Order {

    @Property(executionPublishing=Publishing.ENABLED)    (1)
    @Getter @Setter
    private int quantity;

    // ...
}
1 because set to enabled, will be published irrespective of the configured value.