final class Entity[M, E] extends AnyRef
- Alphabetic
- By Inheritance
- Entity
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Value Members
- val allocationStrategy: [ShardAllocationStrategy]
- val createBehavior: (EntityContext[M]) => Behavior[M]
- val dataCenter: [DataCenter]
- val entityProps: Props
- val messageExtractor: [ShardingMessageExtractor[E, M]]
- val role: Option[String]
- val settings: [ClusterShardingSettings]
- val stopMessage: Option[M]
- val typeKey: EntityTypeKey[M]
- def withAllocationStrategy(newAllocationStrategy: ShardAllocationStrategy): Entity[M, E]
Allocation strategy which decides on which nodes to allocate new shards, ClusterSharding#defaultShardAllocationStrategy is used if this is not specified.
- def withEntityProps(newEntityProps: Props): Entity[M, E]
akka.actor.typed.Props of the entity actors, such as dispatcher settings.
- def withMessageExtractor[Envelope](newExtractor: ShardingMessageExtractor[Envelope, M]): Entity[M, Envelope]
If a
messageExtractor
is not specified the messages are sent to the entities by wrapping them in ShardingEnvelope with the entityId of the recipient actor.If a
messageExtractor
is not specified the messages are sent to the entities by wrapping them in with the entityId of the recipient actor. That envelope is used by the HashCodeMessageExtractor for extracting entityId and shardId. The number of shards is then defined bynumberOfShards
inClusterShardingSettings
, which by default is configured withakka.cluster.sharding.number-of-shards
. - def withRole(newRole: String): Entity[M, E]
Run the Entity actors on nodes with the given role.
- def withSettings(newSettings: ClusterShardingSettings): Entity[M, E]
Additional settings, typically loaded from configuration.
- def withStopMessage(newStopMessage: M): Entity[M, E]
Message sent to an entity to tell it to stop, e.g.
Message sent to an entity to tell it to stop, e.g. when rebalanced or passivated. If this is not defined it will be stopped automatically. It can be useful to define a custom stop message if the entity needs to perform some asynchronous cleanup or interactions before stopping.
Deprecated Value Members
- def withDataCenter(newDataCenter: DataCenter): Entity[M, E]
The data center of the cluster nodes where the cluster sharding is running.
The data center of the cluster nodes where the cluster sharding is running. If the dataCenter is not specified then the same data center as current node. If the given dataCenter does not match the data center of the current node the
ShardRegion
will be started in proxy mode.- Annotations
- @deprecated
- Deprecated
(Since version 2.10.0) Use Akka Distributed Cluster instead
Defines how the entity should be created. Used in ClusterSharding#init.