Class Entity<M,​E>

    • Constructor Detail

      • Entity

        public Entity()
    • Method Detail

      • stopMessage

        public java.util.Optional<M> stopMessage()
      • entityProps

        public Props entityProps()
      • role

        public java.util.Optional<java.lang.String> role()
      • dataCenter

        public java.util.Optional<java.lang.String> dataCenter()
      • withEntityProps

        public Entity<M,​E> withEntityProps​(Props newEntityProps)
        pekko.actor.typed.Props of the entity actors, such as dispatcher settings.
      • withStopMessage

        public Entity<M,​E> withStopMessage​(M newStopMessage)
        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.
      • withMessageExtractor

        public <Envelope> Entity<M,​Envelope> withMessageExtractor​(ShardingMessageExtractor<Envelope,​M> newExtractor)
        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 by numberOfShards in ClusterShardingSettings, which by default is configured with pekko.cluster.sharding.number-of-shards.
      • withRole

        public Entity<M,​E> withRole​(java.lang.String role)
        Run the Entity actors on nodes with the given role.
      • withDataCenter

        public Entity<M,​E> withDataCenter​(java.lang.String newDataCenter)
        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.