Package akka.cluster.sharding
Class DDataShard
- java.lang.Object
-
- akka.cluster.sharding.Shard
-
- akka.cluster.sharding.DDataShard
-
- All Implemented Interfaces:
Actor,ActorLogging,Stash,StashSupport,Timers,UnrestrictedStash,RememberingShard,RequiresMessageQueue<DequeBasedMessageQueueSemantics>
public class DDataShard extends Shard implements RememberingShard, Stash, ActorLogging
If the message is for the same entity as we are waiting for the update it will be added to its messageBuffer, which will be sent after the update has completed.If the message is for another entity that is already started (and not in progress of passivating) it will be delivered immediately.
Otherwise it will be stashed, and processed after the update has been completed.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class akka.cluster.sharding.Shard
Shard.CurrentShardState, Shard.CurrentShardState$, Shard.EntityStarted, Shard.EntityStarted$, Shard.EntityStopped, Shard.EntityStopped$, Shard.GetCurrentShardState$, Shard.GetShardStats$, Shard.LeaseAcquireResult, Shard.LeaseAcquireResult$, Shard.LeaseLost, Shard.LeaseLost$, Shard.LeaseRetry$, Shard.PassivateIdleTick$, Shard.RestartEntities, Shard.RestartEntities$, Shard.RestartEntity, Shard.RestartEntity$, Shard.ShardCommand, Shard.ShardQuery, Shard.ShardStats, Shard.ShardStats$, Shard.State, Shard.State$, Shard.StateChange
-
Nested classes/interfaces inherited from interface akka.actor.Actor
Actor.emptyBehavior$, Actor.ignoringBehavior$
-
-
Constructor Summary
Constructors Constructor Description DDataShard(java.lang.String typeName, java.lang.String shardId, scala.Function1<java.lang.String,Props> entityProps, ClusterShardingSettings settings, scala.PartialFunction<java.lang.Object,scala.Tuple2<java.lang.String,java.lang.Object>> extractEntityId, scala.Function1<java.lang.Object,java.lang.String> extractShardId, java.lang.Object handOffStopMessage, ActorRef replicator, int majorityMinCap)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidakka$actor$StashSupport$_setter_$mailbox_$eq(DequeBasedMessageQueueSemantics x$1)protected voidakka$cluster$sharding$RememberingShard$_setter_$rememberedEntitiesRecoveryStrategy_$eq(EntityRecoveryStrategy x$1)protected voidaroundReceive(scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> rcv, java.lang.Object msg)INTERNAL API.DequeBasedMessageQueueSemanticsmailbox()voidonLeaseAcquired()<E extends Shard.StateChange>
voidprocessChange(E event, scala.Function1<E,scala.runtime.BoxedUnit> handler)scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit>receive()Scala API: This defines the initial actor behavior, it must return a partial function with the actor logic.protected EntityRecoveryStrategyrememberedEntitiesRecoveryStrategy()ClusterShardingSettingssettings()-
Methods inherited from class akka.cluster.sharding.Shard
acquireLeaseIfNeeded, akka$actor$Actor$_setter_$context_$eq, akka$actor$Actor$_setter_$self_$eq, appendToMessageBuffer, context, deliverMessage, deliverTo, entityTerminated, getOrCreateEntity, getOrCreateEntity$default$2, idByRef, idByRef_$eq, lastMessageTimestamp, lastMessageTimestamp_$eq, messageBuffers, passivateCompleted, passivateIdleTask, passivating, passivating_$eq, postStop, preStart, props, receiveCommand, receiveLeaseLost, receiveShardQuery, refById, refById_$eq, self, sendMsgBuffer, state, state_$eq, touchLastMessageTimestamp
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface akka.actor.Actor
akka$actor$Actor$_setter_$context_$eq, akka$actor$Actor$_setter_$self_$eq, aroundPostRestart, aroundPreStart, context, postRestart, preStart, self, sender, supervisorStrategy, unhandled
-
Methods inherited from interface akka.actor.ActorLogging
_log_$eq, log
-
Methods inherited from interface akka.cluster.sharding.RememberingShard
deliverTo, entityTerminated, restartRememberedEntities
-
Methods inherited from interface akka.actor.StashSupport
actorCell, clearStash, context, enqueueFirst, prepend, self, stash, theStash_$eq, unstash, unstashAll, unstashAll
-
Methods inherited from interface akka.actor.Timers
actorCell, aroundPostStop, aroundPreRestart, super$aroundPostStop, super$aroundPreRestart, super$aroundReceive, timers
-
Methods inherited from interface akka.actor.UnrestrictedStash
postStop, preRestart, super$postStop, super$preRestart
-
-
-
-
Constructor Detail
-
DDataShard
public DDataShard(java.lang.String typeName, java.lang.String shardId, scala.Function1<java.lang.String,Props> entityProps, ClusterShardingSettings settings, scala.PartialFunction<java.lang.Object,scala.Tuple2<java.lang.String,java.lang.Object>> extractEntityId, scala.Function1<java.lang.Object,java.lang.String> extractShardId, java.lang.Object handOffStopMessage, ActorRef replicator, int majorityMinCap)
-
-
Method Detail
-
akka$actor$StashSupport$_setter_$mailbox_$eq
protected void akka$actor$StashSupport$_setter_$mailbox_$eq(DequeBasedMessageQueueSemantics x$1)
- Specified by:
akka$actor$StashSupport$_setter_$mailbox_$eqin interfaceStashSupport
-
akka$cluster$sharding$RememberingShard$_setter_$rememberedEntitiesRecoveryStrategy_$eq
protected void akka$cluster$sharding$RememberingShard$_setter_$rememberedEntitiesRecoveryStrategy_$eq(EntityRecoveryStrategy x$1)
- Specified by:
akka$cluster$sharding$RememberingShard$_setter_$rememberedEntitiesRecoveryStrategy_$eqin interfaceRememberingShard
-
aroundReceive
protected void aroundReceive(scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> rcv, java.lang.Object msg)Description copied from interface:ActorINTERNAL API.Can be overridden to intercept calls to this actor's current behavior.
- Specified by:
aroundReceivein interfaceActor- Specified by:
aroundReceivein interfaceTimers- Parameters:
rcv- current behavior.msg- current message.
-
mailbox
public DequeBasedMessageQueueSemantics mailbox()
- Specified by:
mailboxin interfaceStashSupport
-
onLeaseAcquired
public void onLeaseAcquired()
- Overrides:
onLeaseAcquiredin classShard
-
processChange
public <E extends Shard.StateChange> void processChange(E event, scala.Function1<E,scala.runtime.BoxedUnit> handler)
- Overrides:
processChangein classShard
-
receive
public scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> receive()
Description copied from interface:ActorScala API: This defines the initial actor behavior, it must return a partial function with the actor logic.
-
rememberedEntitiesRecoveryStrategy
protected EntityRecoveryStrategy rememberedEntitiesRecoveryStrategy()
- Specified by:
rememberedEntitiesRecoveryStrategyin interfaceRememberingShard
-
settings
public ClusterShardingSettings settings()
- Specified by:
settingsin interfaceRememberingShard
-
-