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 classRemoteActorRefProvider.Finished$static classRemoteActorRefProvider.Idle$static interfaceRemoteActorRefProvider.TerminatorStatestatic classRemoteActorRefProvider.Uninitialized$static classRemoteActorRefProvider.WaitDaemonShutdown$static classRemoteActorRefProvider.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 InternalActorRefactorFor(ActorPath path)Deprecated.use actorSelection instead of actorFor.InternalActorRefactorFor(InternalActorRef ref, java.lang.String path)Deprecated.use actorSelection instead of actorFor.InternalActorRefactorFor(InternalActorRef ref, scala.collection.Iterable<java.lang.String> path)Deprecated.use actorSelection instead of actorFor.InternalActorRefactorOf(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 RemoteDeployercreateDeployer()Factory method to make it possible to override deployer in subclass Creates a new instance every timeprotected ActorRefcreateRemoteDeploymentWatcher(ActorSystemImpl system)protected ActorRefcreateRemoteWatcher(ActorSystemImpl system)protected FailureDetectorRegistry<Address>createRemoteWatcherFailureDetector(ExtendedActorSystem system)InternalActorRefdeadLetters()Dead letter destination for this provider.Deployerdeployer()The Deployer associated with this ActorRefProviderDynamicAccessdynamicAccess()EventStreameventStream()AddressgetDefaultAddress()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.LocalActorRefguardian()Reference to the supervisor used for all top-level user actors.voidinit(ActorSystemImpl system)INTERNAL API: Initialization of an ActorRefProvider happens in two steps: first construction of the object with settings, eventStream, etc.ActorRefinternalResolveActorRef(java.lang.String path)INTERNAL API: This is used by theActorRefResolveCachevia the publicresolveActorRef(path: String).LoggingAdapterlog()voidquarantine(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.voidregisterTempActor(InternalActorRef actorRef, ActorPath path)INTERNAL API: Registers an actorRef at a path returned by tempPath(); do NOT pass in any other path.InternalActorRefremoteDaemon()RemoteSettingsremoteSettings()ActorRefremoteWatcher()ActorRefresolveActorRef(ActorPath path)Create actor reference for a specified path.ActorRefresolveActorRef(java.lang.String path)Create actor reference for a specified path.InternalActorRefresolveActorRefWithLocalAddress(java.lang.String path, Address localAddress)INTERNAL API Called in deserialization of incoming remote messages where the correct local address is known.InternalActorRefrootGuardian()ActorRefrootGuardianAt(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.ActorPathrootPath()The root path for all actors within this actor system, not including any remote address information.Serialization.InformationserializationInformation()INTERNAL APIActorSystem.Settingssettings()The Settings associated with this ActorRefProviderLocalActorRefsystemGuardian()Reference to the supervisor used for all top-level system actors.java.lang.StringsystemName()VirtualPathContainertempContainer()Returns the actor reference representing the “/temp” path.ActorPathtempPath()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().RemoteTransporttransport()voidunregisterTempActor(ActorPath path)Unregister a temporary actor from the “/temp” path (i.e.voiduseActorOnNode(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:ActorRefProviderThe Settings associated with this ActorRefProvider- Specified by:
settingsin interfaceActorRefProvider- Returns:
- (undocumented)
-
eventStream
public EventStream eventStream()
-
dynamicAccess
public DynamicAccess dynamicAccess()
-
remoteSettings
public RemoteSettings remoteSettings()
-
deployer
public Deployer deployer()
Description copied from interface:ActorRefProviderThe Deployer associated with this ActorRefProvider- Specified by:
deployerin 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:ActorRefProviderThe root path for all actors within this actor system, not including any remote address information.- Specified by:
rootPathin interfaceActorRefProvider- Returns:
- (undocumented)
-
deadLetters
public InternalActorRef deadLetters()
Description copied from interface:ActorRefProviderDead letter destination for this provider.- Specified by:
deadLettersin interfaceActorRefProvider- Returns:
- (undocumented)
-
rootGuardian
public InternalActorRef rootGuardian()
- Specified by:
rootGuardianin interfaceActorRefProvider
-
guardian
public LocalActorRef guardian()
Description copied from interface:ActorRefProviderReference to the supervisor used for all top-level user actors.- Specified by:
guardianin interfaceActorRefProvider- Returns:
- (undocumented)
-
systemGuardian
public LocalActorRef systemGuardian()
Description copied from interface:ActorRefProviderReference to the supervisor used for all top-level system actors.- Specified by:
systemGuardianin interfaceActorRefProvider- Returns:
- (undocumented)
-
terminationFuture
public scala.concurrent.Future<Terminated> terminationFuture()
Description copied from interface:ActorRefProviderThis Future is completed upon termination of this ActorRefProvider, which is usually initiated by stopping the guardian via ActorSystem.stop().- Specified by:
terminationFuturein interfaceActorRefProvider- Returns:
- (undocumented)
-
registerTempActor
public void registerTempActor(InternalActorRef actorRef, ActorPath path)
Description copied from interface:ActorRefProviderINTERNAL API: Registers an actorRef at a path returned by tempPath(); do NOT pass in any other path.- Specified by:
registerTempActorin interfaceActorRefProvider- Parameters:
actorRef- (undocumented)path- (undocumented)
-
unregisterTempActor
public void unregisterTempActor(ActorPath path)
Description copied from interface:ActorRefProviderUnregister a temporary actor from the “/temp” path (i.e. obtained from tempPath()); do NOT pass in any other path.- Specified by:
unregisterTempActorin interfaceActorRefProvider- Parameters:
path- (undocumented)
-
tempPath
public ActorPath tempPath()
Description copied from interface:ActorRefProviderGenerates and returns a unique actor path below “/temp”.- Specified by:
tempPathin interfaceActorRefProvider- Returns:
- (undocumented)
-
tempContainer
public VirtualPathContainer tempContainer()
Description copied from interface:ActorRefProviderReturns the actor reference representing the “/temp” path.- Specified by:
tempContainerin 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:ActorRefProviderINTERNAL 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:
initin 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:ActorRefProviderINTERNAL 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 settinglookupDeploytofalse.- Specified by:
actorOfin 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:ActorRefProviderINTERNAL 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
actorFordo 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:
actorForin 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:ActorRefProviderINTERNAL 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
sis a relative URI, resolve it relative to the given ref.- Specified by:
actorForin 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:ActorRefProviderINTERNAL 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:
actorForin interfaceActorRefProvider- Parameters:
ref- (undocumented)path- (undocumented)- Returns:
- (undocumented)
-
rootGuardianAt
public ActorRef rootGuardianAt(Address address)
Description copied from interface:ActorRefProviderReference 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:
rootGuardianAtin 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:ActorRefProviderCreate actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference.- Specified by:
resolveActorRefin interfaceActorRefProvider- Parameters:
path- (undocumented)- Returns:
- (undocumented)
-
internalResolveActorRef
public ActorRef internalResolveActorRef(java.lang.String path)
INTERNAL API: This is used by theActorRefResolveCachevia the publicresolveActorRef(path: String).- Parameters:
path- (undocumented)- Returns:
- (undocumented)
-
resolveActorRef
public ActorRef resolveActorRef(ActorPath path)
Description copied from interface:ActorRefProviderCreate actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference.- Specified by:
resolveActorRefin 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:ActorRefProviderObtain 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:
getExternalAddressForin interfaceActorRefProvider- Parameters:
addr- (undocumented)- Returns:
- (undocumented)
-
getDefaultAddress
public Address getDefaultAddress()
Description copied from interface:ActorRefProviderObtain the external address of the default transport.- Specified by:
getDefaultAddressin interfaceActorRefProvider- Returns:
- (undocumented)
-
serializationInformation
public Serialization.Information serializationInformation()
Description copied from interface:ActorRefProviderINTERNAL API- Specified by:
serializationInformationin 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)
-
-