Reply to GetClusterShardingStats, contains statistics about all the sharding regions in the cluster.
Reply to GetClusterShardingStats, contains statistics about all the sharding regions in the cluster.
Reply to GetCurrentRegions
Reply to GetCurrentRegions
Reply to GetShardRegionState$
Reply to GetShardRegionState$
If gathering the shard information times out the set of shards will be empty.
Marker type of entity identifier (String
).
Interface of the partial function used by the ShardRegion to extract the entity id and the message to send to the entity from an incoming message.
Interface of the partial function used by the ShardRegion to
extract the entity id and the message to send to the entity from an
incoming message. The implementation is application specific.
If the partial function does not match the message will be
unhandled
, i.e. posted as Unhandled
messages on the event stream.
Note that the extracted message does not have to be the same as the incoming
message to support wrapping in message envelope that is unwrapped before
sending to the entity actor.
Interface of the function used by the ShardRegion to extract the shard id from an incoming message.
Interface of the function used by the ShardRegion to extract the shard id from an incoming message. Only messages that passed the ExtractEntityId will be used as input to this function.
Send this message to the ShardRegion
actor to request for ClusterShardingStats,
which contains statistics about the currently running sharded entities in the
entire cluster.
Send this message to the ShardRegion
actor to request for ClusterShardingStats,
which contains statistics about the currently running sharded entities in the
entire cluster. If the timeout
is reached without answers from all shard regions
the reply will contain an empty map of regions.
Intended for testing purpose to see when cluster sharding is "ready" or to monitor the state of the shard regions.
Convenience implementation of ShardRegion.MessageExtractor that
construct shardId
based on the hashCode
of the entityId
.
Convenience implementation of ShardRegion.MessageExtractor that
construct shardId
based on the hashCode
of the entityId
. The number
of unique shards is limited by the given maxNumberOfShards
.
Java API: Interface of functions to extract entity id, shard id, and the message to send to the entity from an incoming message.
Marker type of application messages (Any
).
If the state of the entities are persistent you may stop entities that are not used to reduce memory consumption.
If the state of the entities are persistent you may stop entities that are not used to
reduce memory consumption. This is done by the application specific implementation of
the entity actors for example by defining receive timeout (context.setReceiveTimeout
).
If a message is already enqueued to the entity when it stops itself the enqueued message
in the mailbox will be dropped. To support graceful passivation without losing such
messages the entity actor can send this Passivate
message to its parent ShardRegion
.
The specified wrapped stopMessage
will be sent back to the entity, which is
then supposed to stop itself. Incoming messages will be buffered by the ShardRegion
between reception of Passivate
and termination of the entity. Such buffered messages
are thereafter delivered to a new incarnation of the entity.
akka.actor.PoisonPill is a perfectly fine stopMessage
.
Marker type of shard identifier (String
).
We must be sure that a shard is initialized before to start send messages to it.
We must be sure that a shard is initialized before to start send messages to it. Shard could be terminated during initialization.
When remembering entities and a shard is started, each entity id that needs to be running will trigger this message being sent through sharding.
When remembering entities and a shard is started, each entity id that needs to be running will trigger this message being sent through sharding. For this to work the message *must* be handled by the shard id extractor.
Sent back when a ShardRegion.StartEntity
message was received and triggered the entity
to start (it does not guarantee the entity successfully started)
Send this message to the ShardRegion
actor to request for CurrentRegions,
which contains the addresses of all registered regions.
Send this message to the ShardRegion
actor to request for CurrentRegions,
which contains the addresses of all registered regions.
Intended for testing purpose to see when cluster sharding is "ready" or to monitor
the state of the shard regions.
Send this message to a ShardRegion
actor instance to request a
CurrentShardRegionState which describes the current state of the region.
Send this message to a ShardRegion
actor instance to request a
CurrentShardRegionState which describes the current state of the region.
The state contains information about what shards are running in this region
and what entities are running on each of those shards.
Send this message to the ShardRegion
actor to request for ShardRegionStats,
which contains statistics about the currently running sharded entities in the
entire region.
Send this message to the ShardRegion
actor to request for ShardRegionStats,
which contains statistics about the currently running sharded entities in the
entire region.
Intended for testing purpose to see when cluster sharding is "ready" or to monitor
the state of the shard regions.
For the statistics for the entire cluster, see GetClusterShardingStats$.
Java API:
Java API:
Java API:
Java API: Send this message to the ShardRegion
actor to handoff all shards that are hosted by
the ShardRegion
and then the ShardRegion
actor will be stopped.
Java API: Send this message to the ShardRegion
actor to handoff all shards that are hosted by
the ShardRegion
and then the ShardRegion
actor will be stopped. You can watch
it to know when it is completed.
ClusterSharding extension