Class EventSourcedBehaviorImpl<Command,Event,State>
- java.lang.Object
-
- akka.actor.typed.Behavior<T>
-
- akka.actor.typed.Behavior.DeferredBehavior<Command>
-
- akka.persistence.typed.internal.EventSourcedBehaviorImpl<Command,Event,State>
-
- All Implemented Interfaces:
EventSourcedBehavior<Command,Event,State>
,java.io.Serializable
,scala.Equals
,scala.Product
,scala.Serializable
public final class EventSourcedBehaviorImpl<Command,Event,State> extends Behavior.DeferredBehavior<Command> implements EventSourcedBehavior<Command,Event,State>, scala.Product, scala.Serializable
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EventSourcedBehaviorImpl.WriterIdentity
static class
EventSourcedBehaviorImpl.WriterIdentity$
-
Nested classes/interfaces inherited from class akka.actor.typed.Behavior
Behavior.BehaviorDecorators<T>, Behavior.BehaviorDecorators$, Behavior.DeferredBehavior<T>, Behavior.DeferredBehavior$, Behavior.EmptyBehavior$, Behavior.FailedBehavior, Behavior.IgnoreBehavior$, Behavior.SameBehavior$, Behavior.StoppedBehavior<T>, Behavior.StoppedBehavior$, Behavior.UnhandledBehavior$
-
Nested classes/interfaces inherited from interface akka.persistence.typed.scaladsl.EventSourcedBehavior
EventSourcedBehavior.CommandHandler$
-
-
Constructor Summary
Constructors Constructor Description EventSourcedBehaviorImpl(PersistenceId persistenceId, State emptyState, scala.Function2<State,Command,Effect<Event,State>> commandHandler, scala.Function2<State,Event,State> eventHandler, java.lang.Class<?> loggerClass, scala.Option<java.lang.String> journalPluginId, scala.Option<java.lang.String> snapshotPluginId, scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> tagger, EventAdapter<Event,java.lang.Object> eventAdapter, scala.Function3<State,Event,java.lang.Object,java.lang.Object> snapshotWhen, Recovery recovery, RetentionCriteria retention, SupervisorStrategy supervisionStrategy, scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit> signalHandler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <Command,Event,State>
scala.Function3<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object>$lessinit$greater$default$10()
static <Command,Event,State>
Recovery$lessinit$greater$default$11()
static <Command,Event,State>
RetentionCriteria$lessinit$greater$default$12()
static <Command,Event,State>
SupervisorStrategy$lessinit$greater$default$13()
static <Command,Event,State>
scala.PartialFunction<java.lang.Object,scala.runtime.Nothing$>$lessinit$greater$default$14()
static <Command,Event,State>
scala.Option<java.lang.String>$lessinit$greater$default$6()
static <Command,Event,State>
scala.Option<java.lang.String>$lessinit$greater$default$7()
static <Command,Event,State>
scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>>$lessinit$greater$default$8()
static <Command,Event,State>
NoOpEventAdapter<Event>$lessinit$greater$default$9()
Behavior<Command>
apply(TypedActorContext<Command> context)
static <Command,Event,State>
scala.Function3<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object>apply$default$10()
static <Command,Event,State>
Recoveryapply$default$11()
static <Command,Event,State>
RetentionCriteriaapply$default$12()
static <Command,Event,State>
SupervisorStrategyapply$default$13()
static <Command,Event,State>
scala.PartialFunction<java.lang.Object,scala.runtime.Nothing$>apply$default$14()
static <Command,Event,State>
scala.Option<java.lang.String>apply$default$6()
static <Command,Event,State>
scala.Option<java.lang.String>apply$default$7()
static <Command,Event,State>
scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>>apply$default$8()
static <Command,Event,State>
NoOpEventAdapter<Event>apply$default$9()
boolean
canEqual(java.lang.Object x$1)
scala.Function2<State,Command,Effect<Event,State>>
commandHandler()
<Command,Event,State>
EventSourcedBehaviorImpl<Command,Event,State>copy(PersistenceId persistenceId, State emptyState, scala.Function2<State,Command,Effect<Event,State>> commandHandler, scala.Function2<State,Event,State> eventHandler, java.lang.Class<?> loggerClass, scala.Option<java.lang.String> journalPluginId, scala.Option<java.lang.String> snapshotPluginId, scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> tagger, EventAdapter<Event,java.lang.Object> eventAdapter, scala.Function3<State,Event,java.lang.Object,java.lang.Object> snapshotWhen, Recovery recovery, RetentionCriteria retention, SupervisorStrategy supervisionStrategy, scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit> signalHandler)
<Command,Event,State>
PersistenceIdcopy$default$1()
<Command,Event,State>
scala.Function3<State,Event,java.lang.Object,java.lang.Object>copy$default$10()
<Command,Event,State>
Recoverycopy$default$11()
<Command,Event,State>
RetentionCriteriacopy$default$12()
<Command,Event,State>
SupervisorStrategycopy$default$13()
<Command,Event,State>
scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit>copy$default$14()
<Command,Event,State>
Statecopy$default$2()
<Command,Event,State>
scala.Function2<State,Command,Effect<Event,State>>copy$default$3()
<Command,Event,State>
scala.Function2<State,Event,State>copy$default$4()
<Command,Event,State>
java.lang.Class<?>copy$default$5()
<Command,Event,State>
scala.Option<java.lang.String>copy$default$6()
<Command,Event,State>
scala.Option<java.lang.String>copy$default$7()
<Command,Event,State>
scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>>copy$default$8()
<Command,Event,State>
EventAdapter<Event,java.lang.Object>copy$default$9()
State
emptyState()
boolean
equals(java.lang.Object x$1)
EventAdapter<Event,java.lang.Object>
eventAdapter()
EventSourcedBehavior<Command,Event,State>
eventAdapter(EventAdapter<Event,?> adapter)
Transform the event in another type before giving to the journal.scala.Function2<State,Event,State>
eventHandler()
int
hashCode()
scala.Option<java.lang.String>
journalPluginId()
java.lang.Class<?>
loggerClass()
EventSourcedBehavior<Command,Event,State>
onPersistFailure(BackoffSupervisorStrategy backoffStrategy)
Back off strategy for persist failures.PersistenceId
persistenceId()
int
productArity()
java.lang.Object
productElement(int x$1)
scala.collection.Iterator<java.lang.Object>
productIterator()
java.lang.String
productPrefix()
EventSourcedBehavior<Command,Event,State>
receiveSignal(scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit> handler)
Allows the event sourced behavior to react on signals.Recovery
recovery()
RetentionCriteria
retention()
scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit>
signalHandler()
scala.Option<java.lang.String>
snapshotPluginId()
scala.Function3<State,Event,java.lang.Object,java.lang.Object>
snapshotWhen()
EventSourcedBehavior<Command,Event,State>
snapshotWhen(scala.Function3<State,Event,java.lang.Object,java.lang.Object> predicate)
Initiates a snapshot if the givenpredicate
evaluates to true.SupervisorStrategy
supervisionStrategy()
scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>>
tagger()
java.lang.String
toString()
static <Command,Event,State>
scala.Option<scala.Tuple14<PersistenceId,State,scala.Function2<State,Command,Effect<Event,State>>,scala.Function2<State,Event,State>,java.lang.Class<?>,scala.Option<java.lang.String>,scala.Option<java.lang.String>,scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>>,EventAdapter<Event,java.lang.Object>,scala.Function3<State,Event,java.lang.Object,java.lang.Object>,Recovery,RetentionCriteria,SupervisorStrategy,scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit>>>unapply(EventSourcedBehaviorImpl<Command,Event,State> x$0)
EventSourcedBehavior<Command,Event,State>
withJournalPluginId(java.lang.String id)
Change the journal plugin id that this actor should use.EventSourcedBehavior<Command,Event,State>
withRetention(RetentionCriteria criteria)
Criteria for retention/deletion of snapshots and events.EventSourcedBehavior<Command,Event,State>
withSnapshotPluginId(java.lang.String id)
Change the snapshot store plugin id that this actor should use.EventSourcedBehavior<Command,Event,State>
withSnapshotSelectionCriteria(SnapshotSelectionCriteria selection)
Changes the snapshot selection criteria used by this behavior.EventSourcedBehavior<Command,Event,State>
withTagger(scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> tagger)
Thetagger
function should give event tags, which will be used in persistence query-
Methods inherited from class akka.actor.typed.Behavior
_tag, BehaviorDecorators, canonicalize, empty, existsInStack, failed, ignore, interpretMessage, interpretSignal, isAlive, isDeferred, isUnhandled, narrow, orElse, same, start, stopped, stopped, unhandled, unhandledSignal, unsafeCast, validateAsInitial
-
-
-
-
Constructor Detail
-
EventSourcedBehaviorImpl
public EventSourcedBehaviorImpl(PersistenceId persistenceId, State emptyState, scala.Function2<State,Command,Effect<Event,State>> commandHandler, scala.Function2<State,Event,State> eventHandler, java.lang.Class<?> loggerClass, scala.Option<java.lang.String> journalPluginId, scala.Option<java.lang.String> snapshotPluginId, scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> tagger, EventAdapter<Event,java.lang.Object> eventAdapter, scala.Function3<State,Event,java.lang.Object,java.lang.Object> snapshotWhen, Recovery recovery, RetentionCriteria retention, SupervisorStrategy supervisionStrategy, scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit> signalHandler)
-
-
Method Detail
-
$lessinit$greater$default$6
public static <Command,Event,State> scala.Option<java.lang.String> $lessinit$greater$default$6()
-
$lessinit$greater$default$7
public static <Command,Event,State> scala.Option<java.lang.String> $lessinit$greater$default$7()
-
$lessinit$greater$default$8
public static <Command,Event,State> scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> $lessinit$greater$default$8()
-
$lessinit$greater$default$9
public static <Command,Event,State> NoOpEventAdapter<Event> $lessinit$greater$default$9()
-
$lessinit$greater$default$10
public static <Command,Event,State> scala.Function3<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object> $lessinit$greater$default$10()
-
$lessinit$greater$default$11
public static <Command,Event,State> Recovery $lessinit$greater$default$11()
-
$lessinit$greater$default$12
public static <Command,Event,State> RetentionCriteria $lessinit$greater$default$12()
-
$lessinit$greater$default$13
public static <Command,Event,State> SupervisorStrategy $lessinit$greater$default$13()
-
$lessinit$greater$default$14
public static <Command,Event,State> scala.PartialFunction<java.lang.Object,scala.runtime.Nothing$> $lessinit$greater$default$14()
-
apply$default$10
public static <Command,Event,State> scala.Function3<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object> apply$default$10()
-
apply$default$11
public static <Command,Event,State> Recovery apply$default$11()
-
apply$default$12
public static <Command,Event,State> RetentionCriteria apply$default$12()
-
apply$default$13
public static <Command,Event,State> SupervisorStrategy apply$default$13()
-
apply$default$14
public static <Command,Event,State> scala.PartialFunction<java.lang.Object,scala.runtime.Nothing$> apply$default$14()
-
apply$default$6
public static <Command,Event,State> scala.Option<java.lang.String> apply$default$6()
-
apply$default$7
public static <Command,Event,State> scala.Option<java.lang.String> apply$default$7()
-
apply$default$8
public static <Command,Event,State> scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> apply$default$8()
-
apply$default$9
public static <Command,Event,State> NoOpEventAdapter<Event> apply$default$9()
-
unapply
public static <Command,Event,State> scala.Option<scala.Tuple14<PersistenceId,State,scala.Function2<State,Command,Effect<Event,State>>,scala.Function2<State,Event,State>,java.lang.Class<?>,scala.Option<java.lang.String>,scala.Option<java.lang.String>,scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>>,EventAdapter<Event,java.lang.Object>,scala.Function3<State,Event,java.lang.Object,java.lang.Object>,Recovery,RetentionCriteria,SupervisorStrategy,scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit>>> unapply(EventSourcedBehaviorImpl<Command,Event,State> x$0)
-
persistenceId
public PersistenceId persistenceId()
- Specified by:
persistenceId
in interfaceEventSourcedBehavior<Command,Event,State>
-
emptyState
public State emptyState()
-
loggerClass
public java.lang.Class<?> loggerClass()
-
journalPluginId
public scala.Option<java.lang.String> journalPluginId()
-
snapshotPluginId
public scala.Option<java.lang.String> snapshotPluginId()
-
tagger
public scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> tagger()
-
eventAdapter
public EventAdapter<Event,java.lang.Object> eventAdapter()
-
snapshotWhen
public scala.Function3<State,Event,java.lang.Object,java.lang.Object> snapshotWhen()
-
recovery
public Recovery recovery()
-
retention
public RetentionCriteria retention()
-
supervisionStrategy
public SupervisorStrategy supervisionStrategy()
-
signalHandler
public scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit> signalHandler()
- Specified by:
signalHandler
in interfaceEventSourcedBehavior<Command,Event,State>
- Returns:
- The currently defined signal handler or an empty handler if no custom handler previously defined
-
apply
public Behavior<Command> apply(TypedActorContext<Command> context)
- Specified by:
apply
in classBehavior.DeferredBehavior<Command>
-
receiveSignal
public EventSourcedBehavior<Command,Event,State> receiveSignal(scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit> handler)
Description copied from interface:EventSourcedBehavior
Allows the event sourced behavior to react on signals.The regular lifecycle signals can be handled as well as Akka Persistence specific signals (snapshot and recovery related). Those are all subtypes of
EventSourcedSignal
- Specified by:
receiveSignal
in interfaceEventSourcedBehavior<Command,Event,State>
- Parameters:
handler
- (undocumented)- Returns:
- (undocumented)
-
withJournalPluginId
public EventSourcedBehavior<Command,Event,State> withJournalPluginId(java.lang.String id)
Description copied from interface:EventSourcedBehavior
Change the journal plugin id that this actor should use.- Specified by:
withJournalPluginId
in interfaceEventSourcedBehavior<Command,Event,State>
- Parameters:
id
- (undocumented)- Returns:
- (undocumented)
-
withSnapshotPluginId
public EventSourcedBehavior<Command,Event,State> withSnapshotPluginId(java.lang.String id)
Description copied from interface:EventSourcedBehavior
Change the snapshot store plugin id that this actor should use.- Specified by:
withSnapshotPluginId
in interfaceEventSourcedBehavior<Command,Event,State>
- Parameters:
id
- (undocumented)- Returns:
- (undocumented)
-
withSnapshotSelectionCriteria
public EventSourcedBehavior<Command,Event,State> withSnapshotSelectionCriteria(SnapshotSelectionCriteria selection)
Description copied from interface:EventSourcedBehavior
Changes the snapshot selection criteria used by this behavior. By default the most recent snapshot is used, and the remaining state updates are recovered by replaying events from the sequence number up until which the snapshot reached.You may configure the behavior to skip replaying snapshots completely, in which case the recovery will be performed by replaying all events -- which may take a long time.
- Specified by:
withSnapshotSelectionCriteria
in interfaceEventSourcedBehavior<Command,Event,State>
- Parameters:
selection
- (undocumented)- Returns:
- (undocumented)
-
snapshotWhen
public EventSourcedBehavior<Command,Event,State> snapshotWhen(scala.Function3<State,Event,java.lang.Object,java.lang.Object> predicate)
Description copied from interface:EventSourcedBehavior
Initiates a snapshot if the givenpredicate
evaluates to true.Decide to store a snapshot based on the State, Event and sequenceNr when the event has been successfully persisted.
When persisting multiple events at once the snapshot is triggered after all the events have been persisted.
Snapshots triggered by
snapshotWhen
will not trigger deletes of old snapshots and events ifEventSourcedBehavior.withRetention
withRetentionCriteria.snapshotEvery
is used together withsnapshotWhen
. Such deletes are only triggered by snapshots matching thenumberOfEvents
in theRetentionCriteria
.- Specified by:
snapshotWhen
in interfaceEventSourcedBehavior<Command,Event,State>
- Parameters:
predicate
- (undocumented)- Returns:
- (undocumented)
-
withRetention
public EventSourcedBehavior<Command,Event,State> withRetention(RetentionCriteria criteria)
Description copied from interface:EventSourcedBehavior
Criteria for retention/deletion of snapshots and events. By default, retention is disabled and snapshots are not saved and deleted automatically.- Specified by:
withRetention
in interfaceEventSourcedBehavior<Command,Event,State>
- Parameters:
criteria
- (undocumented)- Returns:
- (undocumented)
-
withTagger
public EventSourcedBehavior<Command,Event,State> withTagger(scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> tagger)
Description copied from interface:EventSourcedBehavior
Thetagger
function should give event tags, which will be used in persistence query- Specified by:
withTagger
in interfaceEventSourcedBehavior<Command,Event,State>
- Parameters:
tagger
- (undocumented)- Returns:
- (undocumented)
-
eventAdapter
public EventSourcedBehavior<Command,Event,State> eventAdapter(EventAdapter<Event,?> adapter)
Description copied from interface:EventSourcedBehavior
Transform the event in another type before giving to the journal. Can be used to wrap events in types Journals understand but is of a different type thanEvent
.- Specified by:
eventAdapter
in interfaceEventSourcedBehavior<Command,Event,State>
- Parameters:
adapter
- (undocumented)- Returns:
- (undocumented)
-
onPersistFailure
public EventSourcedBehavior<Command,Event,State> onPersistFailure(BackoffSupervisorStrategy backoffStrategy)
Description copied from interface:EventSourcedBehavior
Back off strategy for persist failures.Specifically BackOff to prevent resume being used. Resume is not allowed as it will be unknown if the event has been persisted.
If not specified the actor will be stopped on failure.
- Specified by:
onPersistFailure
in interfaceEventSourcedBehavior<Command,Event,State>
- Parameters:
backoffStrategy
- (undocumented)- Returns:
- (undocumented)
-
copy
public <Command,Event,State> EventSourcedBehaviorImpl<Command,Event,State> copy(PersistenceId persistenceId, State emptyState, scala.Function2<State,Command,Effect<Event,State>> commandHandler, scala.Function2<State,Event,State> eventHandler, java.lang.Class<?> loggerClass, scala.Option<java.lang.String> journalPluginId, scala.Option<java.lang.String> snapshotPluginId, scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> tagger, EventAdapter<Event,java.lang.Object> eventAdapter, scala.Function3<State,Event,java.lang.Object,java.lang.Object> snapshotWhen, Recovery recovery, RetentionCriteria retention, SupervisorStrategy supervisionStrategy, scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit> signalHandler)
-
copy$default$1
public <Command,Event,State> PersistenceId copy$default$1()
-
copy$default$10
public <Command,Event,State> scala.Function3<State,Event,java.lang.Object,java.lang.Object> copy$default$10()
-
copy$default$11
public <Command,Event,State> Recovery copy$default$11()
-
copy$default$12
public <Command,Event,State> RetentionCriteria copy$default$12()
-
copy$default$13
public <Command,Event,State> SupervisorStrategy copy$default$13()
-
copy$default$14
public <Command,Event,State> scala.PartialFunction<scala.Tuple2<State,Signal>,scala.runtime.BoxedUnit> copy$default$14()
-
copy$default$2
public <Command,Event,State> State copy$default$2()
-
copy$default$3
public <Command,Event,State> scala.Function2<State,Command,Effect<Event,State>> copy$default$3()
-
copy$default$4
public <Command,Event,State> scala.Function2<State,Event,State> copy$default$4()
-
copy$default$5
public <Command,Event,State> java.lang.Class<?> copy$default$5()
-
copy$default$6
public <Command,Event,State> scala.Option<java.lang.String> copy$default$6()
-
copy$default$7
public <Command,Event,State> scala.Option<java.lang.String> copy$default$7()
-
copy$default$8
public <Command,Event,State> scala.Function1<Event,scala.collection.immutable.Set<java.lang.String>> copy$default$8()
-
copy$default$9
public <Command,Event,State> EventAdapter<Event,java.lang.Object> copy$default$9()
-
productPrefix
public java.lang.String productPrefix()
- Specified by:
productPrefix
in interfacescala.Product
-
productArity
public int productArity()
- Specified by:
productArity
in interfacescala.Product
-
productElement
public java.lang.Object productElement(int x$1)
- Specified by:
productElement
in interfacescala.Product
-
productIterator
public scala.collection.Iterator<java.lang.Object> productIterator()
- Specified by:
productIterator
in interfacescala.Product
-
canEqual
public boolean canEqual(java.lang.Object x$1)
- Specified by:
canEqual
in interfacescala.Equals
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object x$1)
- Specified by:
equals
in interfacescala.Equals
- Overrides:
equals
in classjava.lang.Object
-
-