object SpawnProtocol
Ordering
- Alphabetic
- By Inheritance
Inherited
- SpawnProtocol
- AnyRef
- Any
- Hide All
- Show All
Visibility
- 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[T]]) extends 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.
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 usingask
this is similar to how akka.actor.ActorSystem#actorOf can be used in classic actors with the difference that aFuture
/CompletionStage
of theActorRef
is returned.Stopping children is done through specific support in the protocol of the children, or stopping the entire spawn protocol actor.