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 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. - def withEntityProps(newEntityProps: Props): Entity[M, E]
pekko.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 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 bynumberOfShards
inClusterShardingSettings
, which by default is configured withpekko.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,formatted
resolves to the new method in String which has reversed parameters.
- 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.