Class PersistenceTestKitReadJournal
- java.lang.Object
- 
- org.apache.pekko.persistence.testkit.query.scaladsl.PersistenceTestKitReadJournal
 
- 
- All Implemented Interfaces:
- CurrentEventsByPersistenceIdQuery,- CurrentEventsByTagQuery,- EventsByPersistenceIdQuery,- EventsByTagQuery,- PagedPersistenceIdsQuery,- ReadJournal,- CurrentEventsBySliceQuery,- EventsBySliceQuery
 
 public final class PersistenceTestKitReadJournal extends java.lang.Object implements ReadJournal, EventsByPersistenceIdQuery, CurrentEventsByPersistenceIdQuery, CurrentEventsByTagQuery, CurrentEventsBySliceQuery, PagedPersistenceIdsQuery, EventsByTagQuery, EventsBySliceQuery 
- 
- 
Constructor SummaryConstructors Constructor Description PersistenceTestKitReadJournal(ExtendedActorSystem system, com.typesafe.config.Config config, java.lang.String configPath)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Source<EventEnvelope,NotUsed>currentEventsByPersistenceId(java.lang.String persistenceId, long fromSequenceNr, long toSequenceNr)Same type of query aspekko.persistence.query.scaladsl.EventsByPersistenceIdQuery#eventsByPersistenceIdbut the event stream is completed immediately when it reaches the end of the "result set".longcurrentEventsByPersistenceId$default$2()longcurrentEventsByPersistenceId$default$3()<Event> Source<EventEnvelope<Event>,NotUsed>currentEventsBySlices(java.lang.String entityType, int minSlice, int maxSlice, Offset offset)Same type of query aspekko.persistence.query.typed.scaladsl.EventsBySliceQuery.eventsBySlicesbut the event stream is completed immediately when it reaches the end of the "result set".Source<EventEnvelope,NotUsed>currentEventsByTag(java.lang.String tag, Offset offset)Same type of query aspekko.persistence.query.scaladsl.EventsByTagQuery#eventsByTagbut the event stream is completed immediately when it reaches the end of the "result set".OffsetcurrentEventsByTag$default$2()Source<java.lang.String,NotUsed>currentPersistenceIds(scala.Option<java.lang.String> afterId, long limit)Get the current persistence ids.Source<EventEnvelope,NotUsed>eventsByPersistenceId(java.lang.String persistenceId, long fromSequenceNr, long toSequenceNr)Query events for a specificPersistentActoridentified bypersistenceId.longeventsByPersistenceId$default$2()longeventsByPersistenceId$default$3()<Event> Source<EventEnvelope<Event>,NotUsed>eventsBySlices(java.lang.String entityType, int minSlice, int maxSlice, Offset offset)Query events for given slices.Source<EventEnvelope,NotUsed>eventsByTag(java.lang.String tag, Offset offset)Query events that have a specific tag.OffseteventsByTag$default$2()static java.lang.StringIdentifier()intsliceForPersistenceId(java.lang.String persistenceId)scala.collection.immutable.Seq<scala.collection.immutable.Range>sliceRanges(int numberOfRanges)
 
- 
- 
- 
Constructor Detail- 
PersistenceTestKitReadJournalpublic PersistenceTestKitReadJournal(ExtendedActorSystem system, com.typesafe.config.Config config, java.lang.String configPath) 
 
- 
 - 
Method Detail- 
Identifierpublic static java.lang.String Identifier() 
 - 
eventsByPersistenceIdpublic Source<EventEnvelope,NotUsed> eventsByPersistenceId(java.lang.String persistenceId, long fromSequenceNr, long toSequenceNr) Description copied from interface:EventsByPersistenceIdQueryQuery events for a specificPersistentActoridentified bypersistenceId.You can retrieve a subset of all events by specifying fromSequenceNrandtoSequenceNror use0LandLong.MaxValuerespectively to retrieve all events. The query will return all the events inclusive of thefromSequenceNrandtoSequenceNrvalues.The returned event stream should be ordered by sequence number. The stream is not completed when it reaches the end of the currently stored events, but it continues to push new events when new events are persisted. Corresponding query that is completed when it reaches the end of the currently stored events is provided by pekko.persistence.query.scaladsl.CurrentEventsByPersistenceIdQuery#currentEventsByPersistenceId.- Specified by:
- eventsByPersistenceIdin interface- EventsByPersistenceIdQuery
 
 - 
eventsByPersistenceId$default$2public long eventsByPersistenceId$default$2() 
 - 
eventsByPersistenceId$default$3public long eventsByPersistenceId$default$3() 
 - 
currentEventsByPersistenceIdpublic Source<EventEnvelope,NotUsed> currentEventsByPersistenceId(java.lang.String persistenceId, long fromSequenceNr, long toSequenceNr) Description copied from interface:CurrentEventsByPersistenceIdQuerySame type of query aspekko.persistence.query.scaladsl.EventsByPersistenceIdQuery#eventsByPersistenceIdbut the event stream is completed immediately when it reaches the end of the "result set". Events that are stored after the query is completed are not included in the event stream.- Specified by:
- currentEventsByPersistenceIdin interface- CurrentEventsByPersistenceIdQuery
 
 - 
currentEventsByPersistenceId$default$2public long currentEventsByPersistenceId$default$2() 
 - 
currentEventsByPersistenceId$default$3public long currentEventsByPersistenceId$default$3() 
 - 
currentEventsByTagpublic Source<EventEnvelope,NotUsed> currentEventsByTag(java.lang.String tag, Offset offset) Description copied from interface:CurrentEventsByTagQuerySame type of query aspekko.persistence.query.scaladsl.EventsByTagQuery#eventsByTagbut the event stream is completed immediately when it reaches the end of the "result set". Depending on journal implementation, this may mean all events up to when the query is started, or it may include events that are persisted while the query is still streaming results. For eventually consistent stores, it may only include all events up to some point before the query is started.- Specified by:
- currentEventsByTagin interface- CurrentEventsByTagQuery
 
 - 
currentEventsByTag$default$2public Offset currentEventsByTag$default$2() 
 - 
currentEventsBySlicespublic <Event> Source<EventEnvelope<Event>,NotUsed> currentEventsBySlices(java.lang.String entityType, int minSlice, int maxSlice, Offset offset) Description copied from interface:CurrentEventsBySliceQuerySame type of query aspekko.persistence.query.typed.scaladsl.EventsBySliceQuery.eventsBySlicesbut the event stream is completed immediately when it reaches the end of the "result set". Depending on journal implementation, this may mean all events up to when the query is started, or it may include events that are persisted while the query is still streaming results. For eventually consistent stores, it may only include all events up to some point before the query is started.- Specified by:
- currentEventsBySlicesin interface- CurrentEventsBySliceQuery
 
 - 
sliceForPersistenceIdpublic int sliceForPersistenceId(java.lang.String persistenceId) - Specified by:
- sliceForPersistenceIdin interface- CurrentEventsBySliceQuery
- Specified by:
- sliceForPersistenceIdin interface- EventsBySliceQuery
 
 - 
sliceRangespublic scala.collection.immutable.Seq<scala.collection.immutable.Range> sliceRanges(int numberOfRanges) - Specified by:
- sliceRangesin interface- CurrentEventsBySliceQuery
- Specified by:
- sliceRangesin interface- EventsBySliceQuery
 
 - 
currentPersistenceIdspublic Source<java.lang.String,NotUsed> currentPersistenceIds(scala.Option<java.lang.String> afterId, long limit) Get the current persistence ids.Not all plugins may support in database paging, and may simply use drop/take Pekko streams operators to manipulate the result set according to the paging parameters. - Specified by:
- currentPersistenceIdsin interface- PagedPersistenceIdsQuery
- Parameters:
- afterId- The ID to start returning results from, or- Noneto return all ids. This should be an id returned from a previous invocation of this command. Callers should not assume that ids are returned in sorted order.
- limit- The maximum results to return. Use Long.MaxValue to return all results. Must be greater than zero.
- Returns:
- A source containing all the persistence ids, limited as specified.
 
 - 
eventsByTagpublic Source<EventEnvelope,NotUsed> eventsByTag(java.lang.String tag, Offset offset) Description copied from interface:EventsByTagQueryQuery events that have a specific tag. A tag can for example correspond to an aggregate root type (in DDD terminology).The consumer can keep track of its current position in the event stream by storing the offsetand restart the query from a givenoffsetafter a crash/restart.The exact meaning of the offsetdepends on the journal and must be documented by the read journal plugin. It may be a sequential id number that uniquely identifies the position of each event within the event stream. Distributed data stores cannot easily support those semantics and they may use a weaker meaning. For example it may be a timestamp (taken when the event was created or stored). Timestamps are not unique and not strictly ordered, since clocks on different machines may not be synchronized.In strongly consistent stores, where the offsetis unique and strictly ordered, the stream should start from the next event after theoffset. Otherwise, the read journal should ensure that between an invocation that returned an event with the givenoffset, and this invocation, no events are missed. Depending on the journal implementation, this may mean that this invocation will return events that were already returned by the previous invocation, including the event with the passed inoffset.The returned event stream should be ordered by offsetif possible, but this can also be difficult to fulfill for a distributed data store. The order must be documented by the read journal plugin.The stream is not completed when it reaches the end of the currently stored events, but it continues to push new events when new events are persisted. Corresponding query that is completed when it reaches the end of the currently stored events is provided by CurrentEventsByTagQuery.currentEventsByTag(java.lang.String, org.apache.pekko.persistence.query.Offset).- Specified by:
- eventsByTagin interface- EventsByTagQuery
 
 - 
eventsByTag$default$2public Offset eventsByTag$default$2() 
 - 
eventsBySlicespublic <Event> Source<EventEnvelope<Event>,NotUsed> eventsBySlices(java.lang.String entityType, int minSlice, int maxSlice, Offset offset) Description copied from interface:EventsBySliceQueryQuery events for given slices. A slice is deterministically defined based on the persistence id. The purpose is to evenly distribute all persistence ids over the slices.The consumer can keep track of its current position in the event stream by storing the offsetand restart the query from a givenoffsetafter a crash/restart.The exact meaning of the offsetdepends on the journal and must be documented by the read journal plugin. It may be a sequential id number that uniquely identifies the position of each event within the event stream. Distributed data stores cannot easily support those semantics and they may use a weaker meaning. For example it may be a timestamp (taken when the event was created or stored). Timestamps are not unique and not strictly ordered, since clocks on different machines may not be synchronized.In strongly consistent stores, where the offsetis unique and strictly ordered, the stream should start from the next event after theoffset. Otherwise, the read journal should ensure that between an invocation that returned an event with the givenoffset, and this invocation, no events are missed. Depending on the journal implementation, this may mean that this invocation will return events that were already returned by the previous invocation, including the event with the passed inoffset.The returned event stream should be ordered by offsetif possible, but this can also be difficult to fulfill for a distributed data store. The order must be documented by the read journal plugin.The stream is not completed when it reaches the end of the currently stored events, but it continues to push new events when new events are persisted. Corresponding query that is completed when it reaches the end of the currently stored events is provided by CurrentEventsBySliceQuery.currentEventsBySlices.- Specified by:
- eventsBySlicesin interface- EventsBySliceQuery
 
 
- 
 
-