Class RemoteActorRefProvider
- java.lang.Object
-
- akka.remote.RemoteActorRefProvider
-
- All Implemented Interfaces:
ActorRefProvider
- Direct Known Subclasses:
ClusterActorRefProvider
public class RemoteActorRefProvider extends java.lang.Object implements ActorRefProvider
Factory method to make it possible to override deployer in subclass Creates a new instance every time
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RemoteActorRefProvider.Finished$
static class
RemoteActorRefProvider.Idle$
static interface
RemoteActorRefProvider.TerminatorState
static class
RemoteActorRefProvider.Uninitialized$
static class
RemoteActorRefProvider.WaitDaemonShutdown$
static class
RemoteActorRefProvider.WaitTransportShutdown$
-
Constructor Summary
Constructors Constructor Description RemoteActorRefProvider(java.lang.String systemName, ActorSystem.Settings settings, EventStream eventStream, DynamicAccess dynamicAccess)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description InternalActorRef
actorFor(ActorPath path)
Deprecated.use actorSelection instead of actorFor.InternalActorRef
actorFor(InternalActorRef ref, java.lang.String path)
Deprecated.use actorSelection instead of actorFor.InternalActorRef
actorFor(InternalActorRef ref, scala.collection.Iterable<java.lang.String> path)
Deprecated.use actorSelection instead of actorFor.InternalActorRef
actorOf(ActorSystemImpl system, Props props, InternalActorRef supervisor, ActorPath path, boolean systemService, scala.Option<Deploy> deploy, boolean lookupDeploy, boolean async)
INTERNAL API: Actor factory with create-only semantics: will create an actor as described by props with the given supervisor and path (may be different in case of remote supervision).protected RemoteDeployer
createDeployer()
Factory method to make it possible to override deployer in subclass Creates a new instance every timeprotected ActorRef
createRemoteDeploymentWatcher(ActorSystemImpl system)
protected ActorRef
createRemoteWatcher(ActorSystemImpl system)
protected FailureDetectorRegistry<Address>
createRemoteWatcherFailureDetector(ExtendedActorSystem system)
InternalActorRef
deadLetters()
Dead letter destination for this provider.Deployer
deployer()
The Deployer associated with this ActorRefProviderDynamicAccess
dynamicAccess()
EventStream
eventStream()
Address
getDefaultAddress()
Obtain the external address of the default transport.scala.Option<Address>
getExternalAddressFor(Address addr)
Obtain the address which is to be used within sender references when sending to the given other address or none if the other address cannot be reached from this system (i.e.LocalActorRef
guardian()
Reference to the supervisor used for all top-level user actors.void
init(ActorSystemImpl system)
INTERNAL API: Initialization of an ActorRefProvider happens in two steps: first construction of the object with settings, eventStream, etc.ActorRef
internalResolveActorRef(java.lang.String path)
INTERNAL API: This is used by theActorRefResolveCache
via the publicresolveActorRef(path: String)
.LoggingAdapter
log()
void
quarantine(Address address, scala.Option<java.lang.Object> uid, java.lang.String reason)
Marks a remote system as out of sync and prevents reconnects until the quarantine timeout elapses.void
registerTempActor(InternalActorRef actorRef, ActorPath path)
INTERNAL API: Registers an actorRef at a path returned by tempPath(); do NOT pass in any other path.InternalActorRef
remoteDaemon()
RemoteSettings
remoteSettings()
ActorRef
remoteWatcher()
ActorRef
resolveActorRef(ActorPath path)
Create actor reference for a specified path.ActorRef
resolveActorRef(java.lang.String path)
Create actor reference for a specified path.InternalActorRef
resolveActorRefWithLocalAddress(java.lang.String path, Address localAddress)
INTERNAL API Called in deserialization of incoming remote messages where the correct local address is known.InternalActorRef
rootGuardian()
ActorRef
rootGuardianAt(Address address)
Reference to the supervisor of guardian and systemGuardian at the specified address; this is exposed so that the ActorRefFactory can use it as lookupRoot, i.e.ActorPath
rootPath()
The root path for all actors within this actor system, not including any remote address information.Serialization.Information
serializationInformation()
INTERNAL APIActorSystem.Settings
settings()
The Settings associated with this ActorRefProviderLocalActorRef
systemGuardian()
Reference to the supervisor used for all top-level system actors.java.lang.String
systemName()
VirtualPathContainer
tempContainer()
Returns the actor reference representing the “/temp” path.ActorPath
tempPath()
Generates and returns a unique actor path below “/temp”.scala.concurrent.Future<Terminated>
terminationFuture()
This Future is completed upon termination of this ActorRefProvider, which is usually initiated by stopping the guardian via ActorSystem.stop().RemoteTransport
transport()
void
unregisterTempActor(ActorPath path)
Unregister a temporary actor from the “/temp” path (i.e.void
useActorOnNode(ActorRef ref, Props props, Deploy deploy, ActorRef supervisor)
Using (checking out) actor on a specific node.
-
-
-
Constructor Detail
-
RemoteActorRefProvider
public RemoteActorRefProvider(java.lang.String systemName, ActorSystem.Settings settings, EventStream eventStream, DynamicAccess dynamicAccess)
-
-
Method Detail
-
systemName
public java.lang.String systemName()
-
settings
public ActorSystem.Settings settings()
Description copied from interface:ActorRefProvider
The Settings associated with this ActorRefProvider- Specified by:
settings
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
eventStream
public EventStream eventStream()
-
dynamicAccess
public DynamicAccess dynamicAccess()
-
remoteSettings
public RemoteSettings remoteSettings()
-
deployer
public Deployer deployer()
Description copied from interface:ActorRefProvider
The Deployer associated with this ActorRefProvider- Specified by:
deployer
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
createDeployer
protected RemoteDeployer createDeployer()
Factory method to make it possible to override deployer in subclass Creates a new instance every time- Returns:
- (undocumented)
-
log
public LoggingAdapter log()
-
rootPath
public ActorPath rootPath()
Description copied from interface:ActorRefProvider
The root path for all actors within this actor system, not including any remote address information.- Specified by:
rootPath
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
deadLetters
public InternalActorRef deadLetters()
Description copied from interface:ActorRefProvider
Dead letter destination for this provider.- Specified by:
deadLetters
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
rootGuardian
public InternalActorRef rootGuardian()
- Specified by:
rootGuardian
in interfaceActorRefProvider
-
guardian
public LocalActorRef guardian()
Description copied from interface:ActorRefProvider
Reference to the supervisor used for all top-level user actors.- Specified by:
guardian
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
systemGuardian
public LocalActorRef systemGuardian()
Description copied from interface:ActorRefProvider
Reference to the supervisor used for all top-level system actors.- Specified by:
systemGuardian
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
terminationFuture
public scala.concurrent.Future<Terminated> terminationFuture()
Description copied from interface:ActorRefProvider
This Future is completed upon termination of this ActorRefProvider, which is usually initiated by stopping the guardian via ActorSystem.stop().- Specified by:
terminationFuture
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
registerTempActor
public void registerTempActor(InternalActorRef actorRef, ActorPath path)
Description copied from interface:ActorRefProvider
INTERNAL API: Registers an actorRef at a path returned by tempPath(); do NOT pass in any other path.- Specified by:
registerTempActor
in interfaceActorRefProvider
- Parameters:
actorRef
- (undocumented)path
- (undocumented)
-
unregisterTempActor
public void unregisterTempActor(ActorPath path)
Description copied from interface:ActorRefProvider
Unregister a temporary actor from the “/temp” path (i.e. obtained from tempPath()); do NOT pass in any other path.- Specified by:
unregisterTempActor
in interfaceActorRefProvider
- Parameters:
path
- (undocumented)
-
tempPath
public ActorPath tempPath()
Description copied from interface:ActorRefProvider
Generates and returns a unique actor path below “/temp”.- Specified by:
tempPath
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
tempContainer
public VirtualPathContainer tempContainer()
Description copied from interface:ActorRefProvider
Returns the actor reference representing the “/temp” path.- Specified by:
tempContainer
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
transport
public RemoteTransport transport()
-
remoteDaemon
public InternalActorRef remoteDaemon()
-
remoteWatcher
public ActorRef remoteWatcher()
-
init
public void init(ActorSystemImpl system)
Description copied from interface:ActorRefProvider
INTERNAL API: Initialization of an ActorRefProvider happens in two steps: first construction of the object with settings, eventStream, etc. and then—when the ActorSystem is constructed—the second phase during which actors may be created (e.g. the guardians).- Specified by:
init
in interfaceActorRefProvider
- Parameters:
system
- (undocumented)
-
createRemoteWatcher
protected ActorRef createRemoteWatcher(ActorSystemImpl system)
-
createRemoteWatcherFailureDetector
protected FailureDetectorRegistry<Address> createRemoteWatcherFailureDetector(ExtendedActorSystem system)
-
createRemoteDeploymentWatcher
protected ActorRef createRemoteDeploymentWatcher(ActorSystemImpl system)
-
actorOf
public InternalActorRef actorOf(ActorSystemImpl system, Props props, InternalActorRef supervisor, ActorPath path, boolean systemService, scala.Option<Deploy> deploy, boolean lookupDeploy, boolean async)
Description copied from interface:ActorRefProvider
INTERNAL API: Actor factory with create-only semantics: will create an actor as described by props with the given supervisor and path (may be different in case of remote supervision). If systemService is true, deployment is bypassed (local-only). IfSome(deploy)
is passed in, it should be regarded as taking precedence over the nominally applicable settings, but it should be overridable from external configuration; the lookup of the latter can be suppressed by setting
lookupDeploy
to
false
.
- Specified by:
actorOf
in interfaceActorRefProvider
- Parameters:
system
- (undocumented)props
- (undocumented)supervisor
- (undocumented)path
- (undocumented)systemService
- (undocumented)deploy
- (undocumented)lookupDeploy
- (undocumented)async
- (undocumented)- Returns:
- (undocumented)
-
actorFor
public InternalActorRef actorFor(ActorPath path)
Deprecated.use actorSelection instead of actorFor. Since 2.2.Description copied from interface:ActorRefProvider
INTERNAL APICreate actor reference for a specified local or remote path. If no such actor exists, it will be (equivalent to) a dead letter reference.
Actor references acquired with
actorFor
do not always include the full information about the underlying actor identity and therefore such references do not always compare equal to references acquired withactorOf
,sender
, orcontext.self
.- Specified by:
actorFor
in interfaceActorRefProvider
- Parameters:
path
- (undocumented)- Returns:
- (undocumented)
-
actorFor
public InternalActorRef actorFor(InternalActorRef ref, java.lang.String path)
Deprecated.use actorSelection instead of actorFor. Since 2.2.Description copied from interface:ActorRefProvider
INTERNAL APICreate actor reference for a specified local or remote path, which will be parsed using java.net.URI. If no such actor exists, it will be (equivalent to) a dead letter reference. If
s
is a relative URI, resolve it relative to the given ref.- Specified by:
actorFor
in interfaceActorRefProvider
- Parameters:
ref
- (undocumented)path
- (undocumented)- Returns:
- (undocumented)
-
actorFor
public InternalActorRef actorFor(InternalActorRef ref, scala.collection.Iterable<java.lang.String> path)
Deprecated.use actorSelection instead of actorFor. Since 2.2.Description copied from interface:ActorRefProvider
INTERNAL APICreate actor reference for the specified child path starting at the given starting point. This method always returns an actor which is “logically local”, i.e. it cannot be used to obtain a reference to an actor which is not physically or logically attached to this actor system.
- Specified by:
actorFor
in interfaceActorRefProvider
- Parameters:
ref
- (undocumented)path
- (undocumented)- Returns:
- (undocumented)
-
rootGuardianAt
public ActorRef rootGuardianAt(Address address)
Description copied from interface:ActorRefProvider
Reference to the supervisor of guardian and systemGuardian at the specified address; this is exposed so that the ActorRefFactory can use it as lookupRoot, i.e. for anchoring absolute actor selections.- Specified by:
rootGuardianAt
in interfaceActorRefProvider
- Parameters:
address
- (undocumented)- Returns:
- (undocumented)
-
resolveActorRefWithLocalAddress
public InternalActorRef resolveActorRefWithLocalAddress(java.lang.String path, Address localAddress)
INTERNAL API Called in deserialization of incoming remote messages where the correct local address is known.- Parameters:
path
- (undocumented)localAddress
- (undocumented)- Returns:
- (undocumented)
-
resolveActorRef
public ActorRef resolveActorRef(java.lang.String path)
Description copied from interface:ActorRefProvider
Create actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference.- Specified by:
resolveActorRef
in interfaceActorRefProvider
- Parameters:
path
- (undocumented)- Returns:
- (undocumented)
-
internalResolveActorRef
public ActorRef internalResolveActorRef(java.lang.String path)
INTERNAL API: This is used by theActorRefResolveCache
via the publicresolveActorRef(path: String)
.- Parameters:
path
- (undocumented)- Returns:
- (undocumented)
-
resolveActorRef
public ActorRef resolveActorRef(ActorPath path)
Description copied from interface:ActorRefProvider
Create actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference.- Specified by:
resolveActorRef
in interfaceActorRefProvider
- Parameters:
path
- (undocumented)- Returns:
- (undocumented)
-
useActorOnNode
public void useActorOnNode(ActorRef ref, Props props, Deploy deploy, ActorRef supervisor)
Using (checking out) actor on a specific node.- Parameters:
ref
- (undocumented)props
- (undocumented)deploy
- (undocumented)supervisor
- (undocumented)
-
getExternalAddressFor
public scala.Option<Address> getExternalAddressFor(Address addr)
Description copied from interface:ActorRefProvider
Obtain the address which is to be used within sender references when sending to the given other address or none if the other address cannot be reached from this system (i.e. no means of communication known; no attempt is made to verify actual reachability).- Specified by:
getExternalAddressFor
in interfaceActorRefProvider
- Parameters:
addr
- (undocumented)- Returns:
- (undocumented)
-
getDefaultAddress
public Address getDefaultAddress()
Description copied from interface:ActorRefProvider
Obtain the external address of the default transport.- Specified by:
getDefaultAddress
in interfaceActorRefProvider
- Returns:
- (undocumented)
-
serializationInformation
public Serialization.Information serializationInformation()
Description copied from interface:ActorRefProvider
INTERNAL API- Specified by:
serializationInformation
in interfaceActorRefProvider
-
quarantine
public void quarantine(Address address, scala.Option<java.lang.Object> uid, java.lang.String reason)
Marks a remote system as out of sync and prevents reconnects until the quarantine timeout elapses.- Parameters:
address
- Address of the remote system to be quarantineduid
- UID of the remote system, if the uid is not defined it will not be a strong quarantine but the current endpoint writer will be stopped (dropping system messages) and the address will be gatedreason
- (undocumented)
-
-