Support for handling event/command metadata - application layer #250
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
EventRepository
is extended with additional methods to support fetching and storing metadata of the event.StateRepository
is extended with additional methods to support fetching and storing metadata.ViewStateRepository
is extended with additional methods to support fetching and storing metadata.ActionPublisher
is extended with additional methods to support publishing actions with metadata.Metadata is modeled as a
Map<String, Any>
.Metadata is restricted to the Application layer only. It is a Map. It can be anything/week contract. It does not leak into Domain. All the computations and decisions are done by only using a strong type of the payload/Event/
E
Some examples of metadata:
userId
traceId
eventRevision
Aggregate/MaterializedView/SagaManager is enriched with new extensions to expose the
handle
API that can accept metadata as an additional parameter: