akka.remote
Class RemoteActorRefProvider

java.lang.Object
  extended by akka.remote.RemoteActorRefProvider
All Implemented Interfaces:
ActorRefProvider
Direct Known Subclasses:
ClusterActorRefProvider

public class RemoteActorRefProvider
extends java.lang.Object
implements ActorRefProvider

Remote ActorRefProvider. Starts up actor on remote node and creates a RemoteActorRef representing it.

INTERNAL API!

Depending on this class is not supported, only the ActorRefProvider interface is supported.


Constructor Summary
RemoteActorRefProvider(java.lang.String systemName, ActorSystem.Settings settings, EventStream eventStream, Scheduler scheduler, DynamicAccess dynamicAccess)
           
 
Method Summary
 akka.actor.InternalActorRef actorFor(ActorPath path)
          Create actor reference for a specified local or remote path.
 akka.actor.InternalActorRef actorFor(akka.actor.InternalActorRef ref, scala.collection.Iterable<java.lang.String> path)
          Create actor reference for the specified child path starting at the given starting point.
 akka.actor.InternalActorRef actorFor(akka.actor.InternalActorRef ref, java.lang.String path)
          Create actor reference for a specified local or remote path, which will be parsed using java.net.URI.
 akka.actor.InternalActorRef actorOf(akka.actor.ActorSystemImpl system, Props props, akka.actor.InternalActorRef supervisor, ActorPath path, boolean systemService, scala.Option<Deploy> deploy, boolean lookupDeploy, boolean async)
          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  akka.remote.RemoteDeployer createDeployer()
          Factory method to make it possible to override deployer in subclass Creates a new instance every time
 akka.actor.InternalActorRef deadLetters()
          Dead letter destination for this provider.
 akka.remote.RemoteDeployer deployer()
          The Deployer associated with this ActorRefProvider
 MessageDispatcher dispatcher()
           
 DynamicAccess 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. no means of communication known; no attempt is made to verify actual reachability).
 akka.actor.LocalActorRef guardian()
          Reference to the supervisor used for all top-level user actors.
 void init(akka.actor.ActorSystemImpl system)
          Initialization of an ActorRefProvider happens in two steps: first construction of the object with settings, eventStream, scheduler, etc.
 LoggingAdapter log()
           
 void registerTempActor(akka.actor.InternalActorRef actorRef, ActorPath path)
          Registers an actorRef at a path returned by tempPath(); do NOT pass in any other path.
 akka.actor.InternalActorRef remoteDaemon()
           
 RemoteSettings remoteSettings()
           
 akka.actor.InternalActorRef rootGuardian()
          Reference to the supervisor of guardian and systemGuardian; this is exposed so that the ActorSystemImpl 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.
 Scheduler scheduler()
           
 Serialization serialization()
           
 ActorSystem.Settings settings()
          The Settings associated with this ActorRefProvider
 akka.actor.LocalActorRef systemGuardian()
          Reference to the supervisor used for all top-level system actors.
 java.lang.String systemName()
           
 akka.actor.VirtualPathContainer tempContainer()
          Returns the actor reference representing the “/temp” path.
 ActorPath tempPath()
          Generates and returns a unique actor path below “/temp”.
 scala.concurrent.Future<scala.runtime.BoxedUnit> 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. obtained from tempPath()); do NOT pass in any other path.
 void useActorOnNode(ActorPath path, Props props, Deploy deploy, ActorRef supervisor)
          Using (checking out) actor on a specific node.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteActorRefProvider

public RemoteActorRefProvider(java.lang.String systemName,
                              ActorSystem.Settings settings,
                              EventStream eventStream,
                              Scheduler scheduler,
                              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 interface ActorRefProvider

eventStream

public EventStream eventStream()

scheduler

public Scheduler scheduler()
Specified by:
scheduler in interface ActorRefProvider

dynamicAccess

public DynamicAccess dynamicAccess()

remoteSettings

public RemoteSettings remoteSettings()

deployer

public akka.remote.RemoteDeployer deployer()
Description copied from interface: ActorRefProvider
The Deployer associated with this ActorRefProvider

Specified by:
deployer in interface ActorRefProvider

createDeployer

protected akka.remote.RemoteDeployer createDeployer()
Factory method to make it possible to override deployer in subclass Creates a new instance every time


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 interface ActorRefProvider

deadLetters

public akka.actor.InternalActorRef deadLetters()
Description copied from interface: ActorRefProvider
Dead letter destination for this provider.

Specified by:
deadLetters in interface ActorRefProvider

rootGuardian

public akka.actor.InternalActorRef rootGuardian()
Description copied from interface: ActorRefProvider
Reference to the supervisor of guardian and systemGuardian; this is exposed so that the ActorSystemImpl can use it as lookupRoot, i.e. for anchoring absolute actor look-ups.

Specified by:
rootGuardian in interface ActorRefProvider

guardian

public akka.actor.LocalActorRef guardian()
Description copied from interface: ActorRefProvider
Reference to the supervisor used for all top-level user actors.

Specified by:
guardian in interface ActorRefProvider

systemGuardian

public akka.actor.LocalActorRef systemGuardian()
Description copied from interface: ActorRefProvider
Reference to the supervisor used for all top-level system actors.

Specified by:
systemGuardian in interface ActorRefProvider

terminationFuture

public scala.concurrent.Future<scala.runtime.BoxedUnit> 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 interface ActorRefProvider

dispatcher

public MessageDispatcher dispatcher()
Specified by:
dispatcher in interface ActorRefProvider

registerTempActor

public void registerTempActor(akka.actor.InternalActorRef actorRef,
                              ActorPath path)
Description copied from interface: ActorRefProvider
Registers an actorRef at a path returned by tempPath(); do NOT pass in any other path.

Specified by:
registerTempActor in interface ActorRefProvider

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 interface ActorRefProvider

tempPath

public ActorPath tempPath()
Description copied from interface: ActorRefProvider
Generates and returns a unique actor path below “/temp”.

Specified by:
tempPath in interface ActorRefProvider

tempContainer

public akka.actor.VirtualPathContainer tempContainer()
Description copied from interface: ActorRefProvider
Returns the actor reference representing the “/temp” path.

Specified by:
tempContainer in interface ActorRefProvider

transport

public RemoteTransport transport()

serialization

public Serialization serialization()

remoteDaemon

public akka.actor.InternalActorRef remoteDaemon()

init

public void init(akka.actor.ActorSystemImpl system)
Description copied from interface: ActorRefProvider
Initialization of an ActorRefProvider happens in two steps: first construction of the object with settings, eventStream, scheduler, 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 interface ActorRefProvider

actorOf

public akka.actor.InternalActorRef actorOf(akka.actor.ActorSystemImpl system,
                                           Props props,
                                           akka.actor.InternalActorRef supervisor,
                                           ActorPath path,
                                           boolean systemService,
                                           scala.Option<Deploy> deploy,
                                           boolean lookupDeploy,
                                           boolean async)
Description copied from interface: ActorRefProvider
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). If Some(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 interface ActorRefProvider

actorFor

public akka.actor.InternalActorRef actorFor(ActorPath path)
Description copied from interface: ActorRefProvider
Create actor reference for a specified local or remote path. If no such actor exists, it will be (equivalent to) a dead letter reference.

Specified by:
actorFor in interface ActorRefProvider

actorFor

public akka.actor.InternalActorRef actorFor(akka.actor.InternalActorRef ref,
                                            java.lang.String path)
Description copied from interface: ActorRefProvider
Create 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 interface ActorRefProvider

actorFor

public akka.actor.InternalActorRef actorFor(akka.actor.InternalActorRef ref,
                                            scala.collection.Iterable<java.lang.String> path)
Description copied from interface: ActorRefProvider
Create 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 interface ActorRefProvider

useActorOnNode

public void useActorOnNode(ActorPath path,
                           Props props,
                           Deploy deploy,
                           ActorRef supervisor)
Using (checking out) actor on a specific node.


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 interface ActorRefProvider

getDefaultAddress

public Address getDefaultAddress()
Description copied from interface: ActorRefProvider
Obtain the external address of the default transport.

Specified by:
getDefaultAddress in interface ActorRefProvider