|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.axonframework.eventstore.jdbc.DefaultEventEntryStore<T>
T
- The type used when storing serialized datapublic class DefaultEventEntryStore<T>
Implementation of the EventEntryStore that stores events in DomainEventEntry table and snapshot events in SnapshotEventEntry table.
Constructor Summary | |
---|---|
DefaultEventEntryStore(ConnectionProvider connectionProvider)
Initialize the EventEntryStore using a Generic SQL Schema, and given connectionProvider to obtain
connections. |
|
DefaultEventEntryStore(ConnectionProvider connectionProvider,
EventSqlSchema<T> sqlSchema)
Initialize the EventEntryStore, fetching connections from the given connectionProvider and
executing
SQL
statements using given sqlSchema . |
|
DefaultEventEntryStore(DataSource dataSource,
EventSqlSchema<T> sqlSchema)
Initialize the EventEntryStore, fetching connections from the given dataSource and executing SQL
statements using given sqlSchema . |
Method Summary | |
---|---|
void |
createSchema()
Performs the DDL queries to create the schema necessary for this EventEntryStore implementation. |
Iterator<SerializedDomainEventData<T>> |
fetchAggregateStream(String aggregateType,
Object identifier,
long firstSequenceNumber,
int fetchSize)
Creates an iterator that iterates through the events for an aggregate of given type and given
identifier starting at given firstSequenceNumber . |
Iterator<SerializedDomainEventData<T>> |
fetchFiltered(String whereClause,
List<Object> parameters,
int batchSize)
Creates an iterator that iterates through the Events that conform to the given sql whereClause . |
Class<T> |
getDataType()
Returns the type used to store serialized payloads. |
SerializedDomainEventData<T> |
loadLastSnapshotEvent(String aggregateType,
Object identifier)
Load the last known snapshot event for aggregate of given type with given identifier . |
void |
persistEvent(String aggregateType,
DomainEventMessage event,
SerializedObject<T> serializedPayload,
SerializedObject<T> serializedMetaData)
Stores the given event (serialized as serializedPayload and
serializedMetaData in the Event Store. |
void |
persistSnapshot(String aggregateType,
DomainEventMessage snapshotEvent,
SerializedObject<T> serializedPayload,
SerializedObject<T> serializedMetaData)
Persists the given event which has been serialized into serializedEvent . |
void |
pruneSnapshots(String type,
DomainEventMessage mostRecentSnapshotEvent,
int maxSnapshotsArchived)
Removes old snapshots from the storage for an aggregate of given type that generated the given
mostRecentSnapshotEvent . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DefaultEventEntryStore(DataSource dataSource, EventSqlSchema<T> sqlSchema)
dataSource
and executing SQL
statements using given sqlSchema
.
dataSource
- The data source used to create connectionssqlSchema
- The SQL Definitionspublic DefaultEventEntryStore(ConnectionProvider connectionProvider, EventSqlSchema<T> sqlSchema)
connectionProvider
and
executing
SQL
statements using given sqlSchema
.
connectionProvider
- Used to obtain connectionssqlSchema
- The SQL Definitionspublic DefaultEventEntryStore(ConnectionProvider connectionProvider)
connectionProvider
to obtain
connections.
connectionProvider
- Used to obtain connectionsMethod Detail |
---|
public SerializedDomainEventData<T> loadLastSnapshotEvent(String aggregateType, Object identifier)
EventEntryStore
type
with given identifier
.
loadLastSnapshotEvent
in interface EventEntryStore<T>
aggregateType
- The type identifier of the aggregate that generated the eventidentifier
- The identifier of the aggregate to load the snapshot for
public Iterator<SerializedDomainEventData<T>> fetchFiltered(String whereClause, List<Object> parameters, int batchSize)
EventEntryStore
whereClause
.
When the implementation uses batched fetching, it should use given batchSize
. The given
parameters
provide the values for the placeholders used in the where clause.
The "WHERE" keyword must not be included in the whereClause
. If the clause is null or an empty
String, no filters are applied, and an iterator is returned that scans all events in the event store.
The iterator should return events in the order they were added to the event store. In either case, it must
ensure that events originating from the same aggregate are always returned with the lowest sequence number
first.
fetchFiltered
in interface EventEntryStore<T>
whereClause
- The JPA clause to be included after the WHERE keywordparameters
- A map containing all the parameter values for parameter keys included in the where clausebatchSize
- The total number of events to return in this batch
public void persistSnapshot(String aggregateType, DomainEventMessage snapshotEvent, SerializedObject<T> serializedPayload, SerializedObject<T> serializedMetaData)
EventEntryStore
event
which has been serialized into serializedEvent
.
These snapshot events should be returned by the loadLastSnapshotEvent(...)
methods.
persistSnapshot
in interface EventEntryStore<T>
aggregateType
- The type identifier of the aggregate that generated the eventsnapshotEvent
- The actual snapshot event instance. May be used to extract relevant meta dataserializedPayload
- The serialized payload of the eventserializedMetaData
- The serialized MetaData of the eventpublic void persistEvent(String aggregateType, DomainEventMessage event, SerializedObject<T> serializedPayload, SerializedObject<T> serializedMetaData)
EventEntryStore
event
(serialized as serializedPayload
and
serializedMetaData
in the Event Store.
persistEvent
in interface EventEntryStore<T>
aggregateType
- The type identifier of the aggregate that generated the eventevent
- The actual event instance. May be used to extract relevant meta dataserializedPayload
- The serialized payload of the eventserializedMetaData
- The serialized MetaData of the eventpublic void pruneSnapshots(String type, DomainEventMessage mostRecentSnapshotEvent, int maxSnapshotsArchived)
EventEntryStore
type
that generated the given
mostRecentSnapshotEvent
. A number of maxSnapshotsArchived
is expected to remain in the
archive after pruning, unless that number of snapshots has not been created yet.
pruneSnapshots
in interface EventEntryStore<T>
type
- the type of the aggregate for which to prune snapshotsmostRecentSnapshotEvent
- the last appended snapshot eventmaxSnapshotsArchived
- the number of snapshots that may remain archivedpublic Class<T> getDataType()
EventEntryStore
getDataType
in interface EventEntryStore<T>
public Iterator<SerializedDomainEventData<T>> fetchAggregateStream(String aggregateType, Object identifier, long firstSequenceNumber, int fetchSize)
EventEntryStore
type
and given
identifier
starting at given firstSequenceNumber
. When using batched fetching, the
given batchSize
should be used.
Note that the result is expected to be ordered by sequence number, with the lowest number first.
fetchAggregateStream
in interface EventEntryStore<T>
aggregateType
- The type identifier of the aggregate that generated the eventidentifier
- The identifier of the aggregate to load the snapshot forfirstSequenceNumber
- The sequence number of the first event to include in the batchfetchSize
- The number of entries to include in the batch (if available)
public void createSchema() throws SQLException
SQLException
- when an error occurs executing SQL statements
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |