Wrapper Factory
If the WrapperFactory is used to call other objects then the metrics are captured for each sub-execution.
Related Services
See also:
-
the InteractionContext is used to obtain the Interaction from which the member executions are published.
-
the EntityChangesSubscriber is used to obtain the set of objects modified within the interaction
-
the MetricsService is used to obtain the objects that are loaded throughout the transaction; this info is used in order to instantiate the EntityChanges object passed through to the EntityChangesSubscriber.
-
The services provided by this module combine very well with the CommandSubscriber and with EntityPropertyChangeSubscriber.
The Command captures the cause of an interaction (an action was invoked, a property was edited), while the ExecutionSubscriber captures the effect of that interaction in terms of events, while the EntityPropertyChangeSubscriber captures the effect of the interaction in terms of changed state.
All of these services collaborate implicitly by way of the HasInteractionId interface.
In contrast:
-
The EventBusService differs from the ExecutionSubscriber in that the former is intended for fine-grained publish/subscribe for object-to-object interactions within an Apache Causeway domain object model.
The event propagation is strictly in-memory, and there are no restrictions on the object acting as the event; it need not be serializable, for example.