public interface EventLogWriter
All the methods are supposed to be called inside the same database transaction which also contains the corresponding changes to your business objects. This way it is made sure that the events are persisted if and only if the containing transaction is successful, sidestepping the distributed transaction problem.
The library will later try to submit all those persisted events to Nakadi.
| Modifier and Type | Method and Description |
|---|---|
void |
fireBusinessEvent(String eventType,
Object payload)
Fires a business event, i.e. an event communicating the fact that some
business process step happened.
|
void |
fireCreateEvent(String eventType,
String dataType,
Object data)
Fires a data change event about a creation of some resource
(object).
|
void |
fireDeleteEvent(String eventType,
String dataType,
Object data)
Fires a data change event about the deletion of some resource (object).
|
void |
fireSnapshotEvent(String eventType,
String dataType,
Object data)
Fires a data change event with a snapshot of some resource (object).
|
void |
fireUpdateEvent(String eventType,
String dataType,
Object data)
Fires a data change event about an update of some resource (object).
|
void fireCreateEvent(String eventType, String dataType, Object data)
eventType - the Nakadi event type of the event. This is roughly equivalent
to an event channel or topic.dataType - the content of the data_type field of the Nakadi
event.data - some POJO that can be serialized into JSON (required
parameter). This is meant to be a representation of the
resource which was created. It will be used as content of the
data field of the Nakadi event.void fireUpdateEvent(String eventType, String dataType, Object data)
eventType - the Nakadi event type of the event. This is roughly equivalent
to an event channel or topic.dataType - the content of the data_type field of the Nakadi
event.data - some POJO that can be serialized into JSON (required
parameter). This is meant to be a representation of the new
state of the resource which was updated. It will be used as
content of the data field of the Nakadi event.void fireDeleteEvent(String eventType, String dataType, Object data)
eventType - the Nakadi event type of the event. This is roughly equivalent
to an event channel or topic.dataType - the content of the data_type field of the Nakadi
event.data - some POJO that can be serialized into JSON (required
parameter). This is meant to be a representation of the last
state (before the deletion) of the resource which was deleted.
It will be used as content of the data field of the
Nakadi event.void fireSnapshotEvent(String eventType, String dataType, Object data)
This notifies your consumers about the current state of a resource, even if nothing changed. Typical use cases include initial replication to new consumers or hotfixes of data inconsistencies between producer and consumer.
Normally applications don't have to call this themselves, instead they
should implement the
SnapshotEventProvider
interface to add support for snapshot creation via the actuator endpoint.
eventType - the Nakadi event type of the event. This is roughly equivalent
to an event channel or topic.dataType - the content of the data_type field of the Nakadi
event.data - some POJO that can be serialized into JSON (required
parameter). This is meant to be a representation of the
current state of the resource. It will be used as content of
the data field of the Nakadi event.void fireBusinessEvent(String eventType, Object payload)
eventType - the Nakadi event type of the event. This is roughly equivalent
to an event channel or topic.payload - some POJO that can be serialized into JSON (required
parameter)Copyright © 2017 Pivotal Software, Inc.. All rights reserved.