final class Entity[M, E] extends AnyRef
Defines how the entity should be created. Used in ClusterSharding#init.
- Source
 - ClusterSharding.scala
 
- Alphabetic
 - By Inheritance
 
- Entity
 - AnyRef
 - Any
 
- by any2stringadd
 - by StringFormat
 - by Ensuring
 - by ArrowAssoc
 
- Hide All
 - Show All
 
- Public
 - Protected
 
Value Members
-   final  def !=(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def ##: Int
- Definition Classes
 - AnyRef → Any
 
 -  def +(other: String): String
 -  def ->[B](y: B): (Entity[M, E], B)
 -   final  def ==(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -  val allocationStrategy: Option[ShardAllocationStrategy]
 -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -    def clone(): AnyRef
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
 
 -  val createBehavior: (EntityContext[M]) => Behavior[M]
 -  val dataCenter: Option[DataCenter]
 -  def ensuring(cond: (Entity[M, E]) => Boolean, msg: => Any): Entity[M, E]
 -  def ensuring(cond: (Entity[M, E]) => Boolean): Entity[M, E]
 -  def ensuring(cond: Boolean, msg: => Any): Entity[M, E]
 -  def ensuring(cond: Boolean): Entity[M, E]
 -  val entityProps: Props
 -   final  def eq(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -    def equals(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def getClass(): Class[_ <: AnyRef]
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -    def hashCode(): Int
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -   final  def isInstanceOf[T0]: Boolean
- Definition Classes
 - Any
 
 -  val messageExtractor: Option[ShardingMessageExtractor[E, M]]
 -   final  def ne(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -   final  def notify(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -   final  def notifyAll(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -  val role: Option[String]
 -  val settings: Option[ClusterShardingSettings]
 -  val stopMessage: Option[M]
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - AnyRef → Any
 
 -  val typeKey: EntityTypeKey[M]
 -   final  def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException]) @native()
 
 -   final  def wait(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -    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
messageExtractoris not specified the messages are sent to the entities by wrapping them in ShardingEnvelope with the entityId of the recipient actor.If a
messageExtractoris not specified the messages are sent to the entities by wrapping them in ShardingEnvelope 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 bynumberOfShardsinClusterShardingSettings, 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 finalize(): Unit
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.Throwable]) @Deprecated
 - Deprecated
 (Since version 9)
 -    def formatted(fmtstr: String): String
- Implicit
 - This member is added by an implicit conversion from Entity[M, E] toStringFormat[Entity[M, E]] performed by method StringFormat in scala.Predef.
 - Definition Classes
 - StringFormat
 - Annotations
 - @deprecated @inline()
 - Deprecated
 (Since version 2.12.16) Use
formatString.format(value)instead ofvalue.formatted(formatString), or use thef""string interpolator. In Java 15 and later,formattedresolves to the new method in String which has reversed parameters.
 -    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
ShardRegionwill be started in proxy mode.- Annotations
 - @deprecated
 - Deprecated
 (Since version 2.10.0) Use Akka Distributed Cluster instead
 -    def →[B](y: B): (Entity[M, E], B)
- Implicit
 - This member is added by an implicit conversion from Entity[M, E] toArrowAssoc[Entity[M, E]] performed by method ArrowAssoc in scala.Predef.
 - Definition Classes
 - ArrowAssoc
 - Annotations
 - @deprecated
 - Deprecated
 (Since version 2.13.0) Use
->instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.