MapDbReadJournal

class MapDbReadJournal(config: Config)(implicit val system: ExtendedActorSystem) extends ReadJournal with CurrentPersistenceIdsQuery with PersistenceIdsQuery with CurrentEventsByPersistenceIdQuery with EventsByPersistenceIdQuery with CurrentEventsByTagQuery with EventsByTagQuery
Companion:
object
trait EventsByTagQuery
trait CurrentEventsByTagQuery
trait EventsByPersistenceIdQuery
trait CurrentEventsByPersistenceIdQuery
trait PersistenceIdsQuery
trait CurrentPersistenceIdsQuery
trait ReadJournal
class Object
trait Matchable
class Any

Value members

Concrete methods

override def currentEventsByPersistenceId(persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope, NotUsed]

Same type of query as EventsByPersistenceIdQuery#eventsByPersistenceId but 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.

Same type of query as EventsByPersistenceIdQuery#eventsByPersistenceId but 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.

Definition Classes
CurrentEventsByPersistenceIdQuery
override def currentEventsByTag(tag: String, offset: Offset): Source[EventEnvelope, NotUsed]

Same type of query as EventsByTagQuery#eventsByTag but 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.

Same type of query as EventsByTagQuery#eventsByTag but 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.

Definition Classes
CurrentEventsByTagQuery
override def currentPersistenceIds(): Source[String, NotUsed]

Same type of query as PersistenceIdsQuery#persistenceIds but the stream is completed immediately when it reaches the end of the "result set". Persistent actors that are created after the query is completed are not included in the stream.

Same type of query as PersistenceIdsQuery#persistenceIds but the stream is completed immediately when it reaches the end of the "result set". Persistent actors that are created after the query is completed are not included in the stream.

Definition Classes
CurrentPersistenceIdsQuery
override def eventsByPersistenceId(persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope, NotUsed]

Query events for a specific PersistentActor identified by persistenceId.

Query events for a specific PersistentActor identified by persistenceId.

You can retrieve a subset of all events by specifying fromSequenceNr and toSequenceNr or use 0L and Long.MaxValue respectively to retrieve all events. The query will return all the events inclusive of the fromSequenceNr and toSequenceNr values.

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 CurrentEventsByPersistenceIdQuery#currentEventsByPersistenceId.

Definition Classes
EventsByPersistenceIdQuery
override def eventsByTag(tag: String, offset: Offset): Source[EventEnvelope, NotUsed]

Query events that have a specific tag. A tag can for example correspond to an aggregate root type (in DDD terminology).

Query 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 offset and restart the query from a given offset after a crash/restart.

The exact meaning of the offset depends 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 offset is unique and strictly ordered, the stream should start from the next event after the offset. Otherwise, the read journal should ensure that between an invocation that returned an event with the given offset, 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 in offset.

The returned event stream should be ordered by offset if 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.

Definition Classes
EventsByTagQuery
override def persistenceIds(): Source[String, NotUsed]

Query all PersistentActor identifiers, i.e. as defined by the persistenceId of the PersistentActor.

Query all PersistentActor identifiers, i.e. as defined by the persistenceId of the PersistentActor.

The stream is not completed when it reaches the end of the currently used persistenceIds, but it continues to push new persistenceIds when new persistent actors are created. Corresponding query that is completed when it reaches the end of the currently currently used persistenceIds is provided by CurrentPersistenceIdsQuery#currentPersistenceIds.

Definition Classes
PersistenceIdsQuery

Implicits

Implicits

implicit val system: ExtendedActorSystem