Class ActorSystem<T>

    • Constructor Detail

      • ActorSystem

        public ActorSystem()
    • Method Detail

      • apply

        public static <T> ActorSystem<T> apply​(Behavior<T> guardianBehavior,
                                               java.lang.String name)
        Scala API: Create an ActorSystem
      • apply

        public static <T> ActorSystem<T> apply​(Behavior<T> guardianBehavior,
                                               java.lang.String name,
                                               com.typesafe.config.Config config)
        Scala API: Create an ActorSystem
      • apply

        public static <T> ActorSystem<T> apply​(Behavior<T> guardianBehavior,
                                               java.lang.String name,
                                               com.typesafe.config.Config config,
                                               Props guardianProps)
        Scala API: Create an ActorSystem
      • apply

        public static <T> ActorSystem<T> apply​(Behavior<T> guardianBehavior,
                                               java.lang.String name,
                                               ActorSystemSetup setup,
                                               Props guardianProps)
        Scala API: Creates a new actor system with the specified name and settings The core actor system settings are defined in BootstrapSetup
      • apply

        public static <T> ActorSystem<T> apply​(Behavior<T> guardianBehavior,
                                               java.lang.String name,
                                               BootstrapSetup bootstrapSetup)
        Scala API: Shortcut for creating an actor system with custom bootstrap settings. Same behavior as calling ActorSystem(name, ActorSystemSetup(bootstrapSetup))
      • apply$default$4

        public static <T> Props apply$default$4()
      • create

        public static <T> ActorSystem<T> create​(Behavior<T> guardianBehavior,
                                                java.lang.String name)
        Java API: Create an ActorSystem
      • create

        public static <T> ActorSystem<T> create​(Behavior<T> guardianBehavior,
                                                java.lang.String name,
                                                com.typesafe.config.Config config)
        Java API: Create an ActorSystem
      • create

        public static <T> ActorSystem<T> create​(Behavior<T> guardianBehavior,
                                                java.lang.String name,
                                                com.typesafe.config.Config config,
                                                Props guardianProps)
        Java API: Create an ActorSystem
      • create

        public static <T> ActorSystem<T> create​(Behavior<T> guardianBehavior,
                                                java.lang.String name,
                                                ActorSystemSetup setups)
        Java API: Creates a new actor system with the specified name and settings The core actor system settings are defined in BootstrapSetup
      • create

        public static <T> ActorSystem<T> create​(Behavior<T> guardianBehavior,
                                                java.lang.String name,
                                                BootstrapSetup bootstrapSetup)
        Java API: Shortcut for creating an actor system with custom bootstrap settings. Same behavior as calling ActorSystem.create(name, ActorSystemSetup.create(bootstrapSettings))
      • name

        public abstract java.lang.String name()
        The name of this actor system, used to distinguish multiple ones within the same JVM & class loader.
      • settings

        public abstract Settings settings()
        The core settings extracted from the supplied configuration.
      • logConfiguration

        public abstract void logConfiguration()
        Log the configuration.
      • log

        public abstract org.slf4j.Logger log()
        A Logger that can be used to emit log messages without specifying a more detailed source. Typically it is desirable to use the dedicated Logger available from each Actor&rsquo;s TypedActorContext as that ties the log entries to the actor.
      • startTime

        public abstract long startTime()
        Start-up time in milliseconds since the epoch.
      • uptime

        public abstract long uptime()
        Up-time of this actor system in seconds.
      • threadFactory

        public abstract java.util.concurrent.ThreadFactory threadFactory()
        A ThreadFactory that can be used if the transport needs to create any Threads
      • dynamicAccess

        public abstract DynamicAccess dynamicAccess()
        ClassLoader wrapper which is used for reflective accesses internally. This is set to use the context class loader, if one is set, or the class loader which loaded the ActorSystem implementation. The context class loader is also set on all threads created by the ActorSystem, if one was set during creation.
      • scheduler

        public abstract Scheduler scheduler()
        A generic scheduler that can initiate the execution of tasks after some delay. It is recommended to use the ActorContext&rsquo;s scheduling capabilities for sending messages to actors instead of registering a Runnable for execution using this facility.
      • dispatchers

        public abstract Dispatchers dispatchers()
        Facilities for lookup up thread-pools from configuration.
      • executionContext

        public abstract scala.concurrent.ExecutionContextExecutor executionContext()
        The default thread pool of this ActorSystem, configured with settings in akka.actor.default-dispatcher.
      • terminate

        public abstract void terminate()
        Terminates this actor system by running CoordinatedShutdown with reason akka.actor.CoordinatedShutdown.ActorSystemTerminateReason.

        If akka.coordinated-shutdown.run-by-actor-system-terminate is configured to off it will not run CoordinatedShutdown, but the ActorSystem and its actors will still be terminated.

        This will stop the guardian actor, which in turn will recursively stop all its child actors, and finally the system guardian (below which the logging actors reside).

        This is an asynchronous operation and completion of the termination can be observed with ActorSystem.whenTerminated or ActorSystem.getWhenTerminated.

      • whenTerminated

        public abstract scala.concurrent.Future<Done> whenTerminated()
        Scala API: Returns a Future which will be completed after the ActorSystem has been terminated. The ActorSystem can be stopped with ActorSystem.terminate or by stopping the guardian actor.

        Be careful to not schedule any operations, such as onComplete, on the dispatchers (ExecutionContext) of this actor system as they will have been shut down before this future completes.

      • getWhenTerminated

        public abstract java.util.concurrent.CompletionStage<Done> getWhenTerminated()
        Java API: Returns a CompletionStage which will be completed after the ActorSystem has been terminated and termination hooks have been executed. The ActorSystem can be stopped with ActorSystem.terminate or by stopping the guardian actor.

        Be careful to not schedule any operations, such as thenRunAsync, on the dispatchers (Executor) of this actor system as they will have been shut down before this CompletionStage completes.

      • deadLetters

        public abstract <U> ActorRef<U> deadLetters()
        The deadLetter address is a destination that will accept (and discard) every message sent to it.
      • ignoreRef

        public abstract <U> ActorRef<U> ignoreRef()
        An ActorRef that ignores any incoming messages.
      • printTree

        public abstract java.lang.String printTree()
        Create a string representation of the actor hierarchy within this system for debugging purposes.

        The format of the string is subject to change, i.e. no stable &ldquo;API&rdquo;.

      • systemActorOf

        public abstract <U> ActorRef<U> systemActorOf​(Behavior<U> behavior,
                                                      java.lang.String name,
                                                      Props props)
        Create an actor in the "/system" namespace. This actor will be shut down during system.terminate only after all user actors have terminated.

        This is only intended to be used by libraries (and Akka itself). Applications should use ordinary spawn.

      • systemActorOf$default$3

        public <U> Props systemActorOf$default$3()
      • address

        public abstract Address address()
        Obtains the external address of the default transport.

        Consider differences in clustered and non-clustered ActorSystems. For a non-clustered ActorSystem, this will return an address without host and port. For a clustered ActorSystem, this will return the address that other nodes can use to communicate with this node.