abstract class ActorSystem[-T] extends ActorRef[T] with Extensions with ClassicActorSystemProvider

An ActorSystem is home to a hierarchy of Actors. It is created using ActorSystem#apply from a Behavior object that describes the root Actor of this hierarchy and which will create all other Actors beneath it. A system also implements the ActorRef type, and sending a message to the system directs that message to the root Actor.

Not for user extension.

Self Type
ActorSystem[T] with InternalRecipientRef[T]
Annotations
@DoNotInherit()
Source
ActorSystem.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ActorSystem
  2. ClassicActorSystemProvider
  3. Extensions
  4. ActorRef
  5. Serializable
  6. Comparable
  7. RecipientRef
  8. AnyRef
  9. Any
Implicitly
  1. by ActorRefOps
  2. by RecipientRefOps
  3. by any2stringadd
  4. by StringFormat
  5. by Ensuring
  6. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ActorSystem()

Abstract Value Members

  1. abstract def address: Address

    Obtains the external address of the default transport.

    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.

  2. abstract def classicSystem: actor.ActorSystem

    Allows access to the classic akka.actor.ActorSystem even for akka.actor.typed.ActorSystem[_]s.

    Allows access to the classic akka.actor.ActorSystem even for akka.actor.typed.ActorSystem[_]s.

    Definition Classes
    ClassicActorSystemProvider
  3. abstract def compareTo(arg0: ActorRef[_]): Int
    Definition Classes
    Comparable
  4. abstract def deadLetters[U]: ActorRef[U]

    The deadLetter address is a destination that will accept (and discard) every message sent to it.

  5. abstract def dispatchers: Dispatchers

    Facilities for lookup up thread-pools from configuration.

  6. abstract def dynamicAccess: DynamicAccess

    ClassLoader wrapper which is used for reflective accesses internally.

    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.

  7. implicit abstract def executionContext: ExecutionContextExecutor

    The default thread pool of this ActorSystem, configured with settings in akka.actor.default-dispatcher.

  8. abstract def extension[T <: Extension](ext: ExtensionId[T]): T

    Returns the payload that is associated with the provided extension throws an IllegalStateException if it is not registered.

    Returns the payload that is associated with the provided extension throws an IllegalStateException if it is not registered. This method can potentially block, waiting for the initialization of the payload, if is in the process of registration from another Thread of execution

    Definition Classes
    Extensions
  9. abstract def getLicenseKeyExpiry: [LocalDate]

    Java API: When the license key will expire.

    Java API: When the license key will expire. Optional.empty for perpetual keys. If a license key is not defined the expiry date will be today's date.

  10. abstract def getWhenTerminated: [Done]

    Java API: Returns a CompletionStage which will be completed after the ActorSystem has been terminated and termination hooks have been executed.

    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.

  11. abstract def hasExtension(ext: [_ <: Extension]): Boolean

    Returns whether the specified extension is already registered, this method can potentially block, waiting for the initialization of the payload, if is in the process of registration from another Thread of execution

    Returns whether the specified extension is already registered, this method can potentially block, waiting for the initialization of the payload, if is in the process of registration from another Thread of execution

    Definition Classes
    Extensions
  12. abstract def ignoreRef[U]: ActorRef[U]

    An ActorRef that ignores any incoming messages.

  13. abstract def licenseKeyExpiry: [LocalDate]

    Scala API: When the license key will expire.

    Scala API: When the license key will expire. None for perpetual keys. If a license key is not defined the expiry date will be today's date.

  14. abstract def log: Logger

    A org.slf4j.Logger that can be used to emit log messages without specifying a more detailed source.

    A org.slf4j.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’s TypedActorContext as that ties the log entries to the actor.

  15. abstract def logConfiguration(): Unit

    Log the configuration.

  16. abstract def name: String

    The name of this actor system, used to distinguish multiple ones within the same JVM & class loader.

  17. abstract def narrow[U <: T]: ActorRef[U]

    Narrow the type of this ActorRef, which is always a safe operation.

    Narrow the type of this ActorRef, which is always a safe operation.

    Definition Classes
    ActorRef
  18. abstract def path: ActorPath

    The hierarchical path name of the referenced Actor.

    The hierarchical path name of the referenced Actor. The lifecycle of the ActorRef is fully contained within the lifecycle of the akka.actor.ActorPath and more than one Actor instance can exist with the same path at different points in time, but not concurrently.

    Definition Classes
    ActorRef
  19. abstract def printTree: String

    Create a string representation of the actor hierarchy within this system for debugging purposes.

    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”.

  20. abstract def registerExtension[T <: Extension](ext: ExtensionId[T]): T

    Registers the provided extension and creates its payload, if this extension isn't already registered This method has putIfAbsent-semantics, this method can potentially block, waiting for the initialization of the payload, if is in the process of registration from another Thread of execution

    Registers the provided extension and creates its payload, if this extension isn't already registered This method has putIfAbsent-semantics, this method can potentially block, waiting for the initialization of the payload, if is in the process of registration from another Thread of execution

    Definition Classes
    Extensions
  21. abstract def scheduler: Scheduler

    A generic scheduler that can initiate the execution of tasks after some delay.

    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.

  22. abstract def settings: Settings

    The core settings extracted from the supplied configuration.

  23. abstract def startTime: Long

    Start-up time in milliseconds since the epoch.

  24. abstract def systemActorOf[U](behavior: Behavior[U], name: String, props: Props = Props.empty): ActorRef[U]

    Create an actor in the "/system" namespace.

    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.

  25. abstract def tell(msg: T): Unit

    Send a message to the Actor referenced by this ActorRef using *at-most-once* messaging semantics.

    Send a message to the Actor referenced by this ActorRef using *at-most-once* messaging semantics.

    Definition Classes
    RecipientRef
  26. abstract def terminate(): Unit

    Terminates this actor system by running with reason akka.actor.CoordinatedShutdown.ActorSystemTerminateReason.

    Terminates this actor system by running 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 or ActorSystem.getWhenTerminated.

  27. abstract def threadFactory: ThreadFactory

    A ThreadFactory that can be used if the transport needs to create any Threads

  28. abstract def unsafeUpcast[U >: T]: ActorRef[U]

    Unsafe utility method for widening the type accepted by this ActorRef; provided to avoid having to use asInstanceOf on the full reference type, which would unfortunately also work on non-ActorRefs.

    Unsafe utility method for widening the type accepted by this ActorRef; provided to avoid having to use asInstanceOf on the full reference type, which would unfortunately also work on non-ActorRefs. Use it with caution,it may cause a ClassCastException when you send a message to the widened ActorRef[U].

    Definition Classes
    ActorRef
  29. abstract def uptime: Long

    Up-time of this actor system in seconds.

  30. abstract def whenTerminated: [Done]

    Scala API: Returns a Future which will be completed after the ActorSystem has been terminated.

    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.

Concrete Value Members

  1. def eventStream: [Command]

    Main event bus of this actor system, used for example for logging.

    Main event bus of this actor system, used for example for logging. Accepts akka.actor.typed.eventstream.EventStream.Command.

  2. def receptionist: [Command]

    Return a reference to this system’s akka.actor.typed.receptionist.Receptionist.

Shadowed Implicit Value Members

  1. def !(msg: T): Unit

    Send a message to the Actor referenced by this ActorRef using *at-most-once* messaging semantics.

    Send a message to the Actor referenced by this ActorRef using *at-most-once* messaging semantics.

    Implicit
    This member is added by an implicit conversion from ActorSystem[T] toActorRefOps[T] performed by method ActorRefOps in akka.actor.typed.ActorRef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (actorSystem: ActorRefOps[T]).!(msg)
    Definition Classes
    ActorRefOps
  2. def !(msg: T): Unit

    Send a message to the destination referenced by this RecipientRef using *at-most-once* messaging semantics.

    Send a message to the destination referenced by this RecipientRef using *at-most-once* messaging semantics.

    Implicit
    This member is added by an implicit conversion from ActorSystem[T] toRecipientRefOps[T] performed by method RecipientRefOps in akka.actor.typed.RecipientRef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (actorSystem: RecipientRefOps[T]).!(msg)
    Definition Classes
    RecipientRefOps
  3. val ref: ActorRef[T]
    Implicit
    This member is added by an implicit conversion from ActorSystem[T] toActorRefOps[T] performed by method ActorRefOps in akka.actor.typed.ActorRef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (actorSystem: ActorRefOps[T]).ref
    Definition Classes
    ActorRefOps
  4. val ref: RecipientRef[T]
    Implicit
    This member is added by an implicit conversion from ActorSystem[T] toRecipientRefOps[T] performed by method RecipientRefOps in akka.actor.typed.RecipientRef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (actorSystem: RecipientRefOps[T]).ref
    Definition Classes
    RecipientRefOps