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 akka.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
- All
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( ... ) @native() @HotSpotIntrinsicCandidate()
-
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: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )