package typed
- Alphabetic
- Public
- Protected
Type Members
- abstract class Cluster extends Extension
This class is not intended for user extension other than for test purposes (e.g.
This class is not intended for user extension other than for test purposes (e.g. stub implementation). More methods may be added in the future and that may break such implementations.
- Annotations
- @DoNotInherit()
- sealed trait ClusterCommand extends AnyRef
Not intended for user extension.
Not intended for user extension.
- Annotations
- @DoNotInherit()
- final class ClusterSetup extends ExtensionSetup[Cluster]
Can be used in pekko.actor.setup.ActorSystemSetup when starting the pekko.actor.typed.ActorSystem to replace the default implementation of the Cluster extension.
Can be used in pekko.actor.setup.ActorSystemSetup when starting the pekko.actor.typed.ActorSystem to replace the default implementation of the Cluster extension. Intended for tests that need to replace extension with stub/mock implementations.
- abstract class ClusterSingleton extends Extension
This class is not intended for user extension other than for test purposes (e.g.
This class is not intended for user extension other than for test purposes (e.g. stub implementation). More methods may be added in the future and that may break such implementations.
- Annotations
- @DoNotInherit()
- final class ClusterSingletonManagerSettings extends AnyRef
- final class ClusterSingletonSettings extends AnyRef
- final class ClusterSingletonSetup extends ExtensionSetup[ClusterSingleton]
Can be used in pekko.actor.setup.ActorSystemSetup when starting the pekko.actor.typed.ActorSystem to replace the default implementation of the ClusterSingleton extension.
Can be used in pekko.actor.setup.ActorSystemSetup when starting the pekko.actor.typed.ActorSystem to replace the default implementation of the ClusterSingleton extension. Intended for tests that need to replace extension with stub/mock implementations.
- sealed trait ClusterStateSubscription extends AnyRef
Messages for subscribing to changes in the cluster state
Messages for subscribing to changes in the cluster state
Not intended for user extension.
- Annotations
- @DoNotInherit()
- final case class Down(address: Address) extends ClusterCommand with Product with Serializable
Send command to DOWN the node specified by 'address'.
Send command to DOWN the node specified by 'address'.
When a member is considered by the failure detector to be unreachable the leader is not allowed to perform its duties, such as changing status of new joining members to 'Up'. The status of the unreachable member must be changed to 'Down', which can be done with this method.
- final case class GetCurrentState(recipient: ActorRef[CurrentClusterState]) extends ClusterStateSubscription with Product with Serializable
- final case class Join(address: Address) extends ClusterCommand with Product with Serializable
Try to join this cluster node with the node specified by 'address'.
Try to join this cluster node with the node specified by 'address'.
An actor system can only join a cluster once. Additional attempts will be ignored. When it has successfully joined it must be restarted to be able to join another cluster or to join the same cluster again.
The name of the pekko.actor.ActorSystem must be the same for all members of a cluster.
- final case class JoinSeedNodes(seedNodes: Seq[Address]) extends ClusterCommand with Product with Serializable
Scala API: Join the specified seed nodes without defining them in config.
Scala API: Join the specified seed nodes without defining them in config. Especially useful from tests when Addresses are unknown before startup time.
An actor system can only join a cluster once. Additional attempts will be ignored. When it has successfully joined it must be restarted to be able to join another cluster or to join the same cluster again.
- final case class Leave(address: Address) extends ClusterCommand with Product with Serializable
Send command to issue state transition to LEAVING for the node specified by 'address'.
Send command to issue state transition to LEAVING for the node specified by 'address'. The member will go through the status changes MemberStatus
Leaving
(not published to subscribers) followed by MemberStatusExiting
and finally MemberStatusRemoved
.Note that this command can be issued to any member in the cluster, not necessarily the one that is leaving. The cluster extension, but not the actor system or JVM, of the leaving member will be shutdown after the leader has changed status of the member to Exiting. Thereafter the member will be removed from the cluster. Normally this is handled automatically, but in case of network failures during this process it might still be necessary to set the node’s status to Down in order to complete the removal.
- sealed trait PrepareForFullClusterShutdown extends ClusterCommand
Initiate a full cluster shutdown.
Initiate a full cluster shutdown. This stops: - New members joining the cluster - New rebalances in Cluster Sharding - Singleton handovers
However, it does not stop the nodes. That is expected to be signalled externally.
Not for user extension
- Annotations
- @DoNotInherit()
- final case class SelfRemoved(previousStatus: MemberStatus) extends ClusterDomainEvent with Product with Serializable
Subscribe to this node being removed from the cluster.
Subscribe to this node being removed from the cluster. If the node was already removed from the cluster when this subscription is created it will be responded to immediately from the subscriptions actor.
Note: Only emitted for the typed cluster.
- final case class SelfUp(currentClusterState: CurrentClusterState) extends ClusterDomainEvent with Product with Serializable
Subscribe to this node being up, after sending this event the subscription is automatically cancelled.
Subscribe to this node being up, after sending this event the subscription is automatically cancelled. If the node is already up the event is also sent to the subscriber. If the node was up but is no more because it left or is leaving the cluster, no event is sent and the subscription request is ignored.
Note: Only emitted for the typed cluster.
- final class SingletonActor[M] extends AnyRef
- final case class Subscribe[A <: ClusterDomainEvent](subscriber: ActorRef[A], eventClass: Class[A]) extends ClusterStateSubscription with Product with Serializable
Subscribe to cluster state changes.
Subscribe to cluster state changes. The initial state of the cluster will be sent as a "replay" of the subscribed events.
- subscriber
A subscriber that will receive events until it is unsubscribed or stops
- eventClass
The type of events to subscribe to, can be individual event types such as
ReachabilityEvent
or one of the common supertypes, such asMemberEvent
to get all the subtypes of events.
- final case class Unsubscribe[T](subscriber: ActorRef[T]) extends ClusterStateSubscription with Product with Serializable
Value Members
- object Cluster extends ExtensionId[Cluster]
Pekko Typed Cluster API entry point
- object ClusterSetup
- object ClusterSingleton extends ExtensionId[ClusterSingleton]
- object ClusterSingletonManagerSettings
- object ClusterSingletonSettings
- object ClusterSingletonSetup
- object Join extends Serializable
- object Leave extends Serializable
- case object PrepareForFullClusterShutdown extends PrepareForFullClusterShutdown with Product with Serializable
- object SingletonActor
- object Subscribe extends Serializable