final class ClusterShardingSettings extends AnyRef
- Annotations
- @nowarn()
- Source
- ClusterShardingSettings.scala
- Alphabetic
- By Inheritance
- ClusterShardingSettings
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ClusterShardingSettings(numberOfShards: Int, role: Option[String], dataCenter: [DataCenter], rememberEntities: Boolean, journalPluginId: String, snapshotPluginId: String, passivationStrategySettings: PassivationStrategySettings, shardRegionQueryTimeout: FiniteDuration, stateStoreMode: StateStoreMode, rememberEntitiesStoreMode: RememberEntitiesStoreMode, tuningParameters: TuningParameters, coordinatorSingletonOverrideRole: Boolean, coordinatorSingletonSettings: ClusterSingletonManagerSettings, leaseSettings: [LeaseUsageSettings])
- numberOfShards
number of shards used by the default HashCodeMessageExtractor
- role
Specifies that this entity type requires cluster nodes with a specific role. If the role is not specified all nodes in the cluster are used. If the given role does not match the role of the current node the
ShardRegion
will be started in proxy mode.- dataCenter
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.- rememberEntities
true if active entity actors shall be automatically restarted upon
Shard
restart. i.e. if theShard
is started on a differentShardRegion
due to rebalance or crash.- journalPluginId
Absolute path to the journal plugin configuration entity that is to be used for the internal persistence of ClusterSharding. If not defined the default journal plugin is used. Note that this is not related to persistence used by the entity actors.
- snapshotPluginId
Absolute path to the snapshot plugin configuration entity that is to be used for the internal persistence of ClusterSharding. If not defined the default snapshot plugin is used. Note that this is not related to persistence used by the entity actors.
- passivationStrategySettings
settings for automatic passivation strategy, see descriptions in reference.conf
- tuningParameters
additional tuning parameters, see descriptions in reference.conf
- leaseSettings
LeaseSettings for acquiring before creating the shard. Note that if you define a custom lease name and have several sharding entity types each one must have a unique lease name. If the lease name is undefined it will be derived from ActorSystem name and shard name, but that may result in too long lease names.
- new ClusterShardingSettings(numberOfShards: Int, role: Option[String], dataCenter: [DataCenter], rememberEntities: Boolean, journalPluginId: String, snapshotPluginId: String, passivateIdleEntityAfter: FiniteDuration, shardRegionQueryTimeout: FiniteDuration, stateStoreMode: StateStoreMode, tuningParameters: TuningParameters, coordinatorSingletonSettings: ClusterSingletonManagerSettings)
- Annotations
- @deprecated
- Deprecated
(Since version 2.6.6) Use constructor with rememberEntitiesStoreMode
- new ClusterShardingSettings(numberOfShards: Int, role: Option[String], dataCenter: [DataCenter], rememberEntities: Boolean, journalPluginId: String, snapshotPluginId: String, passivateIdleEntityAfter: FiniteDuration, shardRegionQueryTimeout: FiniteDuration, stateStoreMode: StateStoreMode, rememberEntitiesStoreMode: RememberEntitiesStoreMode, tuningParameters: TuningParameters, coordinatorSingletonSettings: ClusterSingletonManagerSettings)
- Annotations
- @deprecated
- Deprecated
(Since version 2.6.11) Use constructor with leaseSettings
- new ClusterShardingSettings(numberOfShards: Int, role: Option[String], dataCenter: [DataCenter], rememberEntities: Boolean, journalPluginId: String, snapshotPluginId: String, passivateIdleEntityAfter: FiniteDuration, shardRegionQueryTimeout: FiniteDuration, stateStoreMode: StateStoreMode, rememberEntitiesStoreMode: RememberEntitiesStoreMode, tuningParameters: TuningParameters, coordinatorSingletonSettings: ClusterSingletonManagerSettings, leaseSettings: [LeaseUsageSettings])
- Annotations
- @deprecated
- Deprecated
(Since version 2.6.18) Use constructor with passivationStrategySettings
- new ClusterShardingSettings(numberOfShards: Int, role: Option[String], dataCenter: [DataCenter], rememberEntities: Boolean, journalPluginId: String, snapshotPluginId: String, passivationStrategySettings: PassivationStrategySettings, shardRegionQueryTimeout: FiniteDuration, stateStoreMode: StateStoreMode, rememberEntitiesStoreMode: RememberEntitiesStoreMode, tuningParameters: TuningParameters, coordinatorSingletonSettings: ClusterSingletonManagerSettings, leaseSettings: [LeaseUsageSettings])
- Annotations
- @deprecated
- Deprecated
(Since version 2.6.20) Use constructor with coordinatorSingletonOverrideRole
Value Members
- val coordinatorSingletonOverrideRole: Boolean
- val coordinatorSingletonSettings: ClusterSingletonManagerSettings
- val journalPluginId: String
- val leaseSettings: [LeaseUsageSettings]
- val numberOfShards: Int
- val passivationStrategySettings: PassivationStrategySettings
- val rememberEntities: Boolean
- val rememberEntitiesStoreMode: RememberEntitiesStoreMode
- val role: Option[String]
- val shardRegionQueryTimeout: FiniteDuration
- val snapshotPluginId: String
- val stateStoreMode: StateStoreMode
- val tuningParameters: TuningParameters
- def withCoordinatorSingletonSettings(coordinatorSingletonSettings: ClusterSingletonManagerSettings): ClusterShardingSettings
The
role
of theClusterSingletonManagerSettings
is not used.The
role
of theClusterSingletonManagerSettings
is not used. Therole
of the coordinator singleton will be the same as therole
ofClusterShardingSettings
. - def withJournalPluginId(journalPluginId: String): ClusterShardingSettings
- def withLeaseSettings(leaseSettings: LeaseUsageSettings): ClusterShardingSettings
Note that if you define a custom lease name and have several sharding entity types each one must have a unique lease name.
Note that if you define a custom lease name and have several sharding entity types each one must have a unique lease name. If the lease name is undefined it will be derived from ActorSystem name and shard name, but that may result in too long lease names.
- def withNoPassivationStrategy(): ClusterShardingSettings
- def withPassivationStrategy(settings: PassivationStrategySettings): ClusterShardingSettings
API MAY CHANGE: Settings for passivation strategies may change after additional testing and feedback.
API MAY CHANGE: Settings for passivation strategies may change after additional testing and feedback.
- Annotations
- @ApiMayChange()
- def withRememberEntities(rememberEntities: Boolean): ClusterShardingSettings
- def withRememberEntitiesStoreMode(rememberEntitiesStoreMode: RememberEntitiesStoreMode): ClusterShardingSettings
- def withRole(role: String): ClusterShardingSettings
- def withShardRegionQueryTimeout(duration: Duration): ClusterShardingSettings
- def withShardRegionQueryTimeout(duration: FiniteDuration): ClusterShardingSettings
- def withSnapshotPluginId(snapshotPluginId: String): ClusterShardingSettings
- def withStateStoreMode(stateStoreMode: StateStoreMode): ClusterShardingSettings
- def withTuningParameters(tuningParameters: TuningParameters): ClusterShardingSettings
Deprecated Value Members
- val dataCenter: [DataCenter]
- Annotations
- @deprecated
- Deprecated
(Since version 2.10.0) Use Akka Distributed Cluster instead
- def passivateIdleEntityAfter: FiniteDuration
- Annotations
- @deprecated
- Deprecated
(Since version 2.6.18) See passivationStrategySettings.idleEntitySettings instead
- def withDataCenter(dataCenter: DataCenter): ClusterShardingSettings
- Annotations
- @deprecated
- Deprecated
(Since version 2.10.0) Use Akka Distributed Cluster instead
- def withPassivateIdleEntityAfter(duration: Duration): ClusterShardingSettings
- Annotations
- @deprecated
- Deprecated
(Since version 2.6.18) Use withPassivationStrategy instead
- def withPassivateIdleEntityAfter(duration: FiniteDuration): ClusterShardingSettings
- Annotations
- @deprecated
- Deprecated
(Since version 2.6.18) Use withPassivationStrategy instead