object SpawnProtocol
A message protocol for actors that support spawning a child actor when receiving a SpawnProtocol#Spawn message and sending back the ActorRef of the child actor. Create instances through the SpawnProtocol#apply or SpawnProtocol#create factory methods.
The typical usage of this is to use it as the guardian actor of the ActorSystem, possibly combined with
Behaviors.setup
to starts some initial tasks or actors. Child actors can then be started from the outside
by telling or asking SpawnProtocol#Spawn to the actor reference of the system. When using ask
this is
similar to how pekko.actor.ActorSystem#actorOf can be used in classic actors with the difference that
a Future
/ CompletionStage
of the ActorRef
is returned.
Stopping children is done through specific support in the protocol of the children, or stopping the entire spawn protocol actor.
- Source
- SpawnProtocol.scala
- Alphabetic
- By Inheritance
- SpawnProtocol
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed trait Command extends AnyRef
Not for user extension
Not for user extension
- Annotations
- @DoNotInherit()
- final case class Spawn[T](behavior: Behavior[T], name: String, props: Props, replyTo: ActorRef[ActorRef[T]]) extends Command with Product with Serializable
Spawn a child actor with the given
behavior
and send back theActorRef
of that child to the givenreplyTo
destination.Spawn a child actor with the given
behavior
and send back theActorRef
of that child to the givenreplyTo
destination.If
name
is an empty string an anonymous actor (with automatically generated name) will be created.If the
name
is already taken of an existing actor a unique name will be used by appending a suffix to the thename
. The exact format or value of the suffix is an implementation detail that is undefined. This means that reusing the same name for several actors will not result inInvalidActorNameException
, but it's better to use unique names to begin with.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(): Behavior[Command]
Scala API: returns a behavior that can be commanded to spawn arbitrary children.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def create(): Behavior[Command]
Java API: returns a behavior that can be commanded to spawn arbitrary children.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])