org.apache.pekko.cluster.singleton
ClusterSingletonManagerSettings
Companion object ClusterSingletonManagerSettings
final class ClusterSingletonManagerSettings extends NoSerializationVerificationNeeded
- Alphabetic
- By Inheritance
- ClusterSingletonManagerSettings
- NoSerializationVerificationNeeded
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ClusterSingletonManagerSettings(singletonName: String, role: Option[String], removalMargin: FiniteDuration, handOverRetryInterval: FiniteDuration)
- new ClusterSingletonManagerSettings(singletonName: String, role: Option[String], removalMargin: FiniteDuration, handOverRetryInterval: FiniteDuration, leaseSettings: Option[LeaseUsageSettings])
- singletonName
The actor name of the child singleton actor.
- role
Singleton among the nodes tagged with specified role. If the role is not specified it's a singleton among all nodes in the cluster.
- removalMargin
Margin until the singleton instance that belonged to a downed/removed partition is created in surviving partition. The purpose of this margin is that in case of a network partition the singleton actors in the non-surviving partitions must be stopped before corresponding actors are started somewhere else. This is especially important for persistent actors.
- handOverRetryInterval
When a node is becoming oldest it sends hand-over request to previous oldest, that might be leaving the cluster. This is retried with this interval until the previous oldest confirms that the hand over has started or the previous oldest member is removed from the cluster (+
removalMargin
).- leaseSettings
LeaseSettings for acquiring before creating the singleton actor
Value Members
- val handOverRetryInterval: FiniteDuration
- val leaseSettings: Option[LeaseUsageSettings]
- val removalMargin: FiniteDuration
- val role: Option[String]
- val singletonName: String
- def withHandOverRetryInterval(retryInterval: FiniteDuration): ClusterSingletonManagerSettings
- def withLeaseSettings(leaseSettings: LeaseUsageSettings): ClusterSingletonManagerSettings
- def withRemovalMargin(removalMargin: FiniteDuration): ClusterSingletonManagerSettings
- def withRole(role: Option[String]): ClusterSingletonManagerSettings
- def withRole(role: String): ClusterSingletonManagerSettings
- def withSingletonName(name: String): ClusterSingletonManagerSettings