akka.persistence.query.journal.leveldb.javadsl
LeveldbReadJournal
Companion object LeveldbReadJournal
class LeveldbReadJournal extends ReadJournal with AllPersistenceIdsQuery with CurrentPersistenceIdsQuery with EventsByPersistenceIdQuery with CurrentEventsByPersistenceIdQuery with EventsByTagQuery with EventsByTagQuery2 with CurrentEventsByTagQuery with CurrentEventsByTagQuery2
Java API: akka.persistence.query.javadsl.ReadJournal implementation for LevelDB.
It is retrieved with:
LeveldbReadJournal queries =
PersistenceQuery.get(system).getReadJournalFor(LeveldbReadJournal.class, LeveldbReadJournal.Identifier());
Corresponding Scala API is in akka.persistence.query.journal.leveldb.javadsl.LeveldbReadJournal.
Configuration settings can be defined in the configuration section with the
absolute path corresponding to the identifier, which is "akka.persistence.query.journal.leveldb"
for the default LeveldbReadJournal#Identifier. See reference.conf
.
- Source
- LeveldbReadJournal.scala
- Alphabetic
- By Inheritance
- LeveldbReadJournal
- CurrentEventsByTagQuery2
- CurrentEventsByTagQuery
- EventsByTagQuery2
- EventsByTagQuery
- CurrentEventsByPersistenceIdQuery
- EventsByPersistenceIdQuery
- CurrentPersistenceIdsQuery
- AllPersistenceIdsQuery
- ReadJournal
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new LeveldbReadJournal(scaladslReadJournal: scaladsl.LeveldbReadJournal)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from LeveldbReadJournal to any2stringadd[LeveldbReadJournal] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (LeveldbReadJournal, B)
- Implicit
- This member is added by an implicit conversion from LeveldbReadJournal to ArrowAssoc[LeveldbReadJournal] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
allPersistenceIds(): Source[String, NotUsed]
allPersistenceIds
is used for retrieving allpersistenceIds
of all persistent actors.allPersistenceIds
is used for retrieving allpersistenceIds
of all persistent actors.The returned event stream is unordered and you can expect different order for multiple executions of the query.
The stream is not completed when it reaches the end of the currently used
persistenceIds
, but it continues to push newpersistenceIds
when new persistent actors are created. Corresponding query that is completed when it reaches the end of the currently currently usedpersistenceIds
is provided by #currentPersistenceIds.The LevelDB write journal is notifying the query side as soon as new
persistenceIds
are created and there is no periodic polling or batching involved in this query.The stream is completed with failure if there is a failure in executing the query in the backend journal.
- Definition Classes
- LeveldbReadJournal → AllPersistenceIdsQuery
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
currentEventsByPersistenceId(persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope, NotUsed]
Same type of query as #eventsByPersistenceId but the event stream is completed immediately when it reaches the end of the "result set".
Same type of query as #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
- LeveldbReadJournal → CurrentEventsByPersistenceIdQuery
-
def
currentEventsByTag(tag: String, offset: Long): 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".
Same type of query as EventsByTagQuery#eventsByTag 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
- LeveldbReadJournal → CurrentEventsByTagQuery
-
def
currentEventsByTag(tag: String, offset: Offset): Source[EventEnvelope2, NotUsed]
Same type of query as #eventsByTag but the event stream is completed immediately when it reaches the end of the "result set".
Same type of query as #eventsByTag 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
- LeveldbReadJournal → CurrentEventsByTagQuery2
-
def
currentPersistenceIds(): Source[String, NotUsed]
Same type of query as #allPersistenceIds but the stream is completed immediately when it reaches the end of the "result set".
Same type of query as #allPersistenceIds 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
- LeveldbReadJournal → CurrentPersistenceIdsQuery
-
def
ensuring(cond: (LeveldbReadJournal) ⇒ Boolean, msg: ⇒ Any): LeveldbReadJournal
- Implicit
- This member is added by an implicit conversion from LeveldbReadJournal to Ensuring[LeveldbReadJournal] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (LeveldbReadJournal) ⇒ Boolean): LeveldbReadJournal
- Implicit
- This member is added by an implicit conversion from LeveldbReadJournal to Ensuring[LeveldbReadJournal] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): LeveldbReadJournal
- Implicit
- This member is added by an implicit conversion from LeveldbReadJournal to Ensuring[LeveldbReadJournal] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): LeveldbReadJournal
- Implicit
- This member is added by an implicit conversion from LeveldbReadJournal to Ensuring[LeveldbReadJournal] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
eventsByPersistenceId(persistenceId: String, fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope, NotUsed]
eventsByPersistenceId
is used for retrieving events for a specificPersistentActor
identified bypersistenceId
.eventsByPersistenceId
is used for retrieving events for a specificPersistentActor
identified bypersistenceId
.You can retrieve a subset of all events by specifying
fromSequenceNr
andtoSequenceNr
or use0L
andLong.MaxValue
respectively to retrieve all events. Note that the corresponding sequence number of each event is provided in the akka.persistence.query.EventEnvelope, which makes it possible to resume the stream at a later point from a given sequence number.The returned event stream is ordered by sequence number, i.e. the same order as the
PersistentActor
persisted the events. The same prefix of stream elements (in same order) are returned for multiple executions of the query, except for when events have been deleted.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 #currentEventsByPersistenceId.
The LevelDB write journal is notifying the query side as soon as events are persisted, but for efficiency reasons the query side retrieves the events in batches that sometimes can be delayed up to the configured
refresh-interval
.The stream is completed with failure if there is a failure in executing the query in the backend journal.
- Definition Classes
- LeveldbReadJournal → EventsByPersistenceIdQuery
-
def
eventsByTag(tag: String, offset: Long): Source[EventEnvelope, NotUsed]
Query events that have a specific tag.
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 givenoffset
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.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
- LeveldbReadJournal → EventsByTagQuery
-
def
eventsByTag(tag: String, offset: Offset): Source[EventEnvelope2, NotUsed]
eventsByTag
is used for retrieving events that were marked with a given tag, e.g.eventsByTag
is used for retrieving events that were marked with a given tag, e.g. all events of an Aggregate Root type.To tag events you create an akka.persistence.journal.EventAdapter that wraps the events in a akka.persistence.journal.Tagged with the given
tags
.You can retrieve a subset of all events by specifying
offset
, or use0L
to retrieve all events with a given tag. Theoffset
corresponds to an ordered sequence number for the specific tag. Note that the corresponding offset of each event is provided in the akka.persistence.query.EventEnvelope, which makes it possible to resume the stream at a later point from a given offset.In addition to the
offset
theEventEnvelope
also providespersistenceId
andsequenceNr
for each event. ThesequenceNr
is the sequence number for the persistent actor with thepersistenceId
that persisted the event. ThepersistenceId
+sequenceNr
is an unique identifier for the event.The returned event stream is ordered by the offset (tag sequence number), which corresponds to the same order as the write journal stored the events. The same stream elements (in same order) are returned for multiple executions of the query. Deleted events are not deleted from the tagged event stream.
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 #currentEventsByTag.
The LevelDB write journal is notifying the query side as soon as tagged events are persisted, but for efficiency reasons the query side retrieves the events in batches that sometimes can be delayed up to the configured
refresh-interval
.The stream is completed with failure if there is a failure in executing the query in the backend journal.
- Definition Classes
- LeveldbReadJournal → EventsByTagQuery2
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from LeveldbReadJournal to StringFormat[LeveldbReadJournal] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (LeveldbReadJournal, B)
- Implicit
- This member is added by an implicit conversion from LeveldbReadJournal to ArrowAssoc[LeveldbReadJournal] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc