public class Shard
extends java.lang.Object
implements akka.actor.Actor, akka.actor.ActorLogging
This actor creates children entity actors on demand that it is told to be responsible for.
ClusterSharding extension
Modifier and Type | Class and Description |
---|---|
static class |
Shard.EntityStarted
State change for starting an entity in this Shard |
static class |
Shard.EntityStarted$ |
static class |
Shard.EntityStopped
State change for an entity which has terminated. |
static class |
Shard.EntityStopped$ |
static class |
Shard.RestartEntity
When an remembering entities and the entity stops without issuing a
Passivate , we
restart it after a back off using this message. |
static class |
Shard.RestartEntity$ |
static interface |
Shard.ShardCommand
A Shard command
|
static class |
Shard.State |
static class |
Shard.State$ |
static interface |
Shard.StateChange
A case class which represents a state change for the Shard
|
Constructor and Description |
---|
Shard(java.lang.String typeName,
java.lang.String shardId,
akka.actor.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) |
Modifier and Type | Method and Description |
---|---|
void |
deliverMessage(java.lang.Object msg,
akka.actor.ActorRef snd) |
void |
deliverTo(java.lang.String id,
java.lang.Object msg,
java.lang.Object payload,
akka.actor.ActorRef snd) |
void |
entityTerminated(akka.actor.ActorRef ref) |
akka.actor.ActorRef |
getEntity(java.lang.String id) |
void |
handOff(akka.actor.ActorRef replyTo) |
scala.Option<akka.actor.ActorRef> |
handOffStopper() |
scala.collection.immutable.Map<akka.actor.ActorRef,java.lang.String> |
idByRef() |
void |
initialized() |
scala.collection.immutable.Map<java.lang.String,scala.collection.immutable.Vector<scala.Tuple2<java.lang.Object,akka.actor.ActorRef>>> |
messageBuffers() |
void |
passivate(akka.actor.ActorRef entity,
java.lang.Object stopMessage) |
void |
passivateCompleted(Shard.EntityStopped event) |
scala.collection.immutable.Set<akka.actor.ActorRef> |
passivating() |
<A> void |
processChange(A event,
scala.Function1<A,scala.runtime.BoxedUnit> handler) |
static akka.actor.Props |
props(java.lang.String typeName,
java.lang.String shardId,
akka.actor.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)
Factory method for the
Props of the Shard actor. |
scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> |
receive() |
scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> |
receiveCommand() |
void |
receiveCoordinatorMessage(akka.cluster.sharding.ShardCoordinator.Internal.CoordinatorMessage msg) |
void |
receiveShardCommand(Shard.ShardCommand msg) |
void |
receiveShardRegionCommand(ShardRegion.ShardRegionCommand msg) |
void |
receiveTerminated(akka.actor.ActorRef ref) |
scala.collection.immutable.Map<java.lang.String,akka.actor.ActorRef> |
refById() |
void |
sendMsgBuffer(Shard.EntityStarted event) |
Shard.State |
state() |
int |
totalBufferSize() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
akka$actor$Actor$_setter_$context_$eq, akka$actor$Actor$_setter_$self_$eq, aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, context, postRestart, postStop, preRestart, preStart, self, sender, supervisorStrategy, unhandled
public Shard(java.lang.String typeName, java.lang.String shardId, akka.actor.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)
public static akka.actor.Props props(java.lang.String typeName, java.lang.String shardId, akka.actor.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)
Props
of the Shard
actor.
If settings.rememberEntities
is enabled the PersistentShard
subclass is used, otherwise Shard
.typeName
- (undocumented)shardId
- (undocumented)entityProps
- (undocumented)settings
- (undocumented)extractEntityId
- (undocumented)extractShardId
- (undocumented)handOffStopMessage
- (undocumented)public Shard.State state()
public scala.collection.immutable.Map<akka.actor.ActorRef,java.lang.String> idByRef()
public scala.collection.immutable.Map<java.lang.String,akka.actor.ActorRef> refById()
public scala.collection.immutable.Set<akka.actor.ActorRef> passivating()
public scala.collection.immutable.Map<java.lang.String,scala.collection.immutable.Vector<scala.Tuple2<java.lang.Object,akka.actor.ActorRef>>> messageBuffers()
public scala.Option<akka.actor.ActorRef> handOffStopper()
public void initialized()
public int totalBufferSize()
public <A> void processChange(A event, scala.Function1<A,scala.runtime.BoxedUnit> handler)
public scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> receive()
receive
in interface akka.actor.Actor
public scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> receiveCommand()
public void receiveShardCommand(Shard.ShardCommand msg)
public void receiveShardRegionCommand(ShardRegion.ShardRegionCommand msg)
public void receiveCoordinatorMessage(akka.cluster.sharding.ShardCoordinator.Internal.CoordinatorMessage msg)
public void handOff(akka.actor.ActorRef replyTo)
public void receiveTerminated(akka.actor.ActorRef ref)
public void entityTerminated(akka.actor.ActorRef ref)
public void passivate(akka.actor.ActorRef entity, java.lang.Object stopMessage)
public void passivateCompleted(Shard.EntityStopped event)
public void sendMsgBuffer(Shard.EntityStarted event)
public void deliverMessage(java.lang.Object msg, akka.actor.ActorRef snd)
public void deliverTo(java.lang.String id, java.lang.Object msg, java.lang.Object payload, akka.actor.ActorRef snd)
public akka.actor.ActorRef getEntity(java.lang.String id)