Package akka.remote

Class 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
    • Method Detail

      • systemName

        public java.lang.String systemName()
      • createDeployer

        protected RemoteDeployer createDeployer()
        Factory method to make it possible to override deployer in subclass Creates a new instance every time
        Returns:
        (undocumented)
      • 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
        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 interface ActorRefProvider
        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 interface ActorRefProvider
        Parameters:
        actorRef - (undocumented)
        path - (undocumented)
      • unregisterTempActor

        public void unregisterTempActor​(ActorPath path)
        Description copied from interface: ActorRefProvider
        Unregister a temporary actor from the &ldquo;/temp&rdquo; path (i.e. obtained from tempPath()); do NOT pass in any other path.
        Specified by:
        unregisterTempActor in interface ActorRefProvider
        Parameters:
        path - (undocumented)
      • 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 interface ActorRefProvider
        Parameters:
        system - (undocumented)
      • 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). 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
        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 API

        Create 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 with actorOf, sender, or context.self.

        Specified by:
        actorFor in interface ActorRefProvider
        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 API

        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
        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 API

        Create actor reference for the specified child path starting at the given starting point. This method always returns an actor which is &ldquo;logically local&rdquo;, 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
        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 interface ActorRefProvider
        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 interface ActorRefProvider
        Parameters:
        path - (undocumented)
        Returns:
        (undocumented)
      • internalResolveActorRef

        public ActorRef internalResolveActorRef​(java.lang.String path)
        INTERNAL API: This is used by the ActorRefResolveCache via the public resolveActorRef(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 interface ActorRefProvider
        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 interface ActorRefProvider
        Parameters:
        addr - (undocumented)
        Returns:
        (undocumented)
      • 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 quarantined
        uid - 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 gated
        reason - (undocumented)