Class ClusterClient
- All Implemented Interfaces:
Actor
,ActorLogging
ClusterReceptionist
somewhere in the cluster. It will
monitor the connection to the receptionist and establish a new connection if
the link goes down. When looking for a new receptionist it uses fresh contact
points retrieved from previous establishment, or periodically refreshed
contacts, i.e. not necessarily the initial contact points.
You can send messages via the ClusterClient
to any actor in the cluster
that is registered in the ClusterReceptionist
.
Messages are wrapped in ClusterClient.Send
, ClusterClient.SendToAll
or ClusterClient.Publish
.
1. ClusterClient.Send
-
The message will be delivered to one recipient with a matching path, if any such
exists. If several entries match the path the message will be delivered
to one random destination. The sender of the message can specify that local
affinity is preferred, i.e. the message is sent to an actor in the same local actor
system as the used receptionist actor, if any such exists, otherwise random to any other
matching entry.
2. ClusterClient.SendToAll
-
The message will be delivered to all recipients with a matching path.
3. ClusterClient.Publish
-
The message will be delivered to all recipients Actors that have been registered as subscribers to
to the named topic.
Use the factory method props(org.apache.pekko.cluster.client.ClusterClientSettings)
) to create the
pekko.actor.Props
for the actor.
If the receptionist is not currently available, the client will buffer the messages and then deliver them when the connection to the receptionist has been established. The size of the buffer is configurable and it can be disabled by using a buffer size of 0. When the buffer is full old messages will be dropped when new messages are sent via the client.
Note that this is a best effort implementation: messages can always be lost due to the distributed nature of the actors involved.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Deprecated.INTERNAL APIstatic final class
Deprecated.Use Apache Pekko gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-pekko-grpc.static class
Deprecated.static final class
Deprecated.Use Apache Pekko gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-pekko-grpc.static class
Deprecated.static final class
Deprecated.Use Apache Pekko gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-pekko-grpc.static class
Deprecated.Nested classes/interfaces inherited from interface org.apache.pekko.actor.Actor
Actor.emptyBehavior$, Actor.ignoringBehavior$
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionscala.PartialFunction<Object,
scala.runtime.BoxedUnit> Deprecated.buffer()
Deprecated.void
Deprecated.void
buffer_$eq
(MessageBuffer x$1) Deprecated.scala.collection.immutable.HashSet<ActorPath>
Deprecated.void
contactPaths_$eq
(scala.collection.immutable.HashSet<ActorPath> x$1) Deprecated.scala.collection.immutable.HashSet<ActorPath>
Deprecated.void
contactPathsPublished_$eq
(scala.collection.immutable.HashSet<ActorPath> x$1) Deprecated.scala.PartialFunction<Object,
scala.runtime.BoxedUnit> Deprecated.scala.collection.immutable.HashSet<ActorSelection>
contacts()
Deprecated.void
contacts_$eq
(scala.collection.immutable.HashSet<ActorSelection> x$1) Deprecated.context()
Deprecated.Scala API: Stores the context for this actor, including self, and sender.scala.PartialFunction<Object,
scala.runtime.BoxedUnit> Deprecated.Deprecated.Deprecated.scala.collection.immutable.HashSet<ActorSelection>
Deprecated.protected void
Deprecated.Scala API: Stores the context for this actor, including self, and sender.protected final void
Deprecated.The 'self' field holds the ActorRef for this actor.void
postStop()
Deprecated.User overridable callback.static Props
props
(ClusterClientSettings settings) Deprecated.Use Apache Pekko gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-pekko-grpc.void
Deprecated.scala.PartialFunction<Object,
scala.runtime.BoxedUnit> receive()
Deprecated.Scala API: This defines the initial actor behavior, it must return a partial function with the actor logic.void
Deprecated.scala.Option<Cancellable>
Deprecated.void
refreshContactsTask_$eq
(scala.Option<Cancellable> x$1) Deprecated.void
scheduleRefreshContactsTick
(scala.concurrent.duration.FiniteDuration interval) Deprecated.final ActorRef
self()
Deprecated.The 'self' field holds the ActorRef for this actor.void
sendBuffered
(ActorRef receptionist) Deprecated.void
Deprecated.scala.collection.immutable.Vector<ActorRef>
Deprecated.void
subscribers_$eq
(scala.collection.immutable.Vector<ActorRef> x$1) Deprecated.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.pekko.actor.Actor
aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, postRestart, preRestart, preStart, sender, supervisorStrategy, unhandled
Methods inherited from interface org.apache.pekko.actor.ActorLogging
_log_$eq, log
-
Constructor Details
-
ClusterClient
Deprecated.
-
-
Method Details
-
props
Deprecated.Use Apache Pekko gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-pekko-grpc. Since Akka 2.6.0.Scala API: Factory method forClusterClient
pekko.actor.Props
. -
context
Deprecated.Description copied from interface:Actor
Scala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such asforward
.WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads!
pekko.actor.ActorContext
is the Scala API.getContext
returns apekko.actor.AbstractActor.ActorContext
, which is the Java API of the actor context. -
self
Deprecated.Description copied from interface:Actor
The 'self' field holds the ActorRef for this actor. Can be used to send messages to itself:self ! message
-
org$apache$pekko$actor$Actor$_setter_$context_$eq
Deprecated.Description copied from interface:Actor
Scala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such asforward
.WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads!
pekko.actor.ActorContext
is the Scala API.getContext
returns apekko.actor.AbstractActor.ActorContext
, which is the Java API of the actor context.- Specified by:
org$apache$pekko$actor$Actor$_setter_$context_$eq
in interfaceActor
-
org$apache$pekko$actor$Actor$_setter_$self_$eq
Deprecated.Description copied from interface:Actor
The 'self' field holds the ActorRef for this actor. Can be used to send messages to itself:self ! message
- Specified by:
org$apache$pekko$actor$Actor$_setter_$self_$eq
in interfaceActor
-
failureDetector
Deprecated. -
contactPaths
Deprecated. -
contactPaths_$eq
Deprecated. -
initialContactsSel
Deprecated. -
contacts
Deprecated. -
contacts_$eq
Deprecated. -
contactPathsPublished
Deprecated. -
contactPathsPublished_$eq
Deprecated. -
subscribers
Deprecated. -
subscribers_$eq
Deprecated. -
heartbeatTask
Deprecated. -
refreshContactsTask
Deprecated. -
refreshContactsTask_$eq
Deprecated. -
buffer
Deprecated. -
buffer_$eq
Deprecated. -
scheduleRefreshContactsTick
public void scheduleRefreshContactsTick(scala.concurrent.duration.FiniteDuration interval) Deprecated. -
postStop
public void postStop()Deprecated.Description copied from interface:Actor
User overridable callback. Is called asynchronously after 'actor.stop()' is invoked. Empty default implementation. -
receive
Deprecated.Description copied from interface:Actor
Scala API: This defines the initial actor behavior, it must return a partial function with the actor logic. -
establishing
Deprecated. -
active
Deprecated. -
contactPointMessages
Deprecated. -
sendGetContacts
public void sendGetContacts()Deprecated. -
buffer
Deprecated. -
sendBuffered
Deprecated. -
publishContactPoints
public void publishContactPoints()Deprecated. -
reestablish
public void reestablish()Deprecated.
-