Class ActorSystem<T>
- java.lang.Object
-
- akka.actor.typed.ActorSystem<T>
-
- All Implemented Interfaces:
ClassicActorSystemProvider,ActorRef<T>,Extensions,RecipientRef<T>,java.io.Serializable,java.lang.Comparable<ActorRef<?>>
public abstract class ActorSystem<T> extends java.lang.Object implements ActorRef<T>, Extensions, ClassicActorSystemProvider
An ActorSystem is home to a hierarchy of Actors. It is created usingapply(akka.actor.typed.Behavior<T>, java.lang.String)from aBehaviorobject that describes the root Actor of this hierarchy and which will create all other Actors beneath it. A system also implements theActorReftype, and sending a message to the system directs that message to the root Actor.Not for user extension.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface akka.actor.typed.ActorRef
ActorRef.ActorRefOps<T>, ActorRef.ActorRefOps$
-
Nested classes/interfaces inherited from interface akka.actor.typed.RecipientRef
RecipientRef.RecipientRefOps<T>, RecipientRef.RecipientRefOps$
-
-
Constructor Summary
Constructors Constructor Description ActorSystem()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Addressaddress()Obtains the external address of the default transport.static <T> ActorSystem<T>apply(Behavior<T> guardianBehavior, java.lang.String name)Scala API: Create an ActorSystemstatic <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.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 inBootstrapSetupstatic <T> ActorSystem<T>apply(Behavior<T> guardianBehavior, java.lang.String name, com.typesafe.config.Config config)Scala API: Create an ActorSystemstatic <T> ActorSystem<T>apply(Behavior<T> guardianBehavior, java.lang.String name, com.typesafe.config.Config config, Props guardianProps)Scala API: Create an ActorSystemstatic <T> Propsapply$default$4()static <T> ActorSystem<T>create(Behavior<T> guardianBehavior, java.lang.String name)Java API: Create an ActorSystemstatic <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.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 inBootstrapSetupstatic <T> ActorSystem<T>create(Behavior<T> guardianBehavior, java.lang.String name, com.typesafe.config.Config config)Java API: Create an ActorSystemstatic <T> ActorSystem<T>create(Behavior<T> guardianBehavior, java.lang.String name, com.typesafe.config.Config config, Props guardianProps)Java API: Create an ActorSystemabstract <U> ActorRef<U>deadLetters()The deadLetter address is a destination that will accept (and discard) every message sent to it.abstract Dispatchersdispatchers()Facilities for lookup up thread-pools from configuration.abstract DynamicAccessdynamicAccess()ClassLoader wrapper which is used for reflective accesses internally.ActorRef<EventStream.Command>eventStream()Main event bus of this actor system, used for example for logging.abstract scala.concurrent.ExecutionContextExecutorexecutionContext()The default thread pool of this ActorSystem, configured with settings inakka.actor.default-dispatcher.abstract java.util.Optional<java.time.LocalDate>getLicenseKeyExpiry()Java API: When the license key will expire.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.abstract <U> ActorRef<U>ignoreRef()An ActorRef that ignores any incoming messages.abstract scala.Option<java.time.LocalDate>licenseKeyExpiry()Scala API: When the license key will expire.abstract org.slf4j.Loggerlog()ALoggerthat can be used to emit log messages without specifying a more detailed source.abstract voidlogConfiguration()Log the configuration.abstract java.lang.Stringname()The name of this actor system, used to distinguish multiple ones within the same JVM & class loader.abstract java.lang.StringprintTree()Create a string representation of the actor hierarchy within this system for debugging purposes.ActorRef<Receptionist.Command>receptionist()Return a reference to this system’sReceptionist.abstract Schedulerscheduler()A generic scheduler that can initiate the execution of tasks after some delay.abstract Settingssettings()The core settings extracted from the supplied configuration.abstract longstartTime()Start-up time in milliseconds since the epoch.abstract <U> ActorRef<U>systemActorOf(Behavior<U> behavior, java.lang.String name, Props props)Create an actor in the "/system" namespace.<U> PropssystemActorOf$default$3()abstract voidterminate()Terminates this actor system by runningCoordinatedShutdownwith reasonakka.actor.CoordinatedShutdown.ActorSystemTerminateReason.abstract java.util.concurrent.ThreadFactorythreadFactory()A ThreadFactory that can be used if the transport needs to create any Threadsabstract longuptime()Up-time of this actor system in seconds.abstract scala.concurrent.Future<Done>whenTerminated()Scala API: Returns a Future which will be completed after the ActorSystem has been terminated.static ActorSystem<scala.runtime.Nothing$>wrap(ActorSystem system)Wrap a classicActorSystemsuch that it can be used from Akka TypedBehavior.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface akka.actor.typed.ActorRef
narrow, path, tell, unsafeUpcast, writeReplace
-
Methods inherited from interface akka.actor.ClassicActorSystemProvider
classicSystem
-
Methods inherited from interface akka.actor.typed.Extensions
extension, hasExtension, registerExtension
-
-
-
-
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 inBootstrapSetup
-
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 callingActorSystem(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 inBootstrapSetup
-
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 callingActorSystem.create(name, ActorSystemSetup.create(bootstrapSettings))
-
wrap
public static ActorSystem<scala.runtime.Nothing$> wrap(ActorSystem system)
Wrap a classicActorSystemsuch that it can be used from Akka TypedBehavior.
-
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()
ALoggerthat can be used to emit log messages without specifying a more detailed source. Typically it is desirable to use the dedicatedLoggeravailable from each Actor’sTypedActorContextas 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’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 inakka.actor.default-dispatcher.
-
terminate
public abstract void terminate()
Terminates this actor system by runningCoordinatedShutdownwith reasonakka.actor.CoordinatedShutdown.ActorSystemTerminateReason.If
akka.coordinated-shutdown.run-by-actor-system-terminateis configured tooffit will not runCoordinatedShutdown, but theActorSystemand 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.whenTerminatedorActorSystem.getWhenTerminated.
-
whenTerminated
public abstract scala.concurrent.Future<Done> whenTerminated()
Scala API: Returns a Future which will be completed after the ActorSystem has been terminated. TheActorSystemcan be stopped withActorSystem.terminateor 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. TheActorSystemcan be stopped withActorSystem.terminateor 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 “API”.
-
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()
-
receptionist
public ActorRef<Receptionist.Command> receptionist()
Return a reference to this system’sReceptionist.
-
eventStream
public ActorRef<EventStream.Command> eventStream()
Main event bus of this actor system, used for example for logging. AcceptsEventStream.Command.
-
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.
-
licenseKeyExpiry
public abstract scala.Option<java.time.LocalDate> licenseKeyExpiry()
Scala API: When the license key will expire.Nonefor perpetual keys. If a license key is not defined the expiry date will be today's date.
-
getLicenseKeyExpiry
public abstract java.util.Optional<java.time.LocalDate> getLicenseKeyExpiry()
Java API: When the license key will expire.Optional.emptyfor perpetual keys. If a license key is not defined the expiry date will be today's date.
-
-