Package org.apache.pekko.actor
Class Props
- java.lang.Object
-
- org.apache.pekko.actor.Props
-
- All Implemented Interfaces:
java.io.Serializable
,scala.Equals
,scala.Product
public final class Props extends java.lang.Object implements scala.Product, java.io.Serializable
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<? extends Actor>
actorClass()
Obtain an upper-bound approximation of the actor class which is going to be created by these Props.static Props
apply(java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
Scala API: create a Props given a class and its constructor arguments.static Props
apply(Deploy deploy, java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
Props is a configuration object using in creating anActor
; it is immutable, so it is thread-safe and fully shareable.static <T extends Actor>
Propsapply(scala.Function0<T> creator, scala.reflect.ClassTag<T> evidence$2)
Scala API: Returns a Props that has default values except for "creator" which will be a function that creates an instance using the supplied thunk.static <T extends Actor>
Propsapply(scala.reflect.ClassTag<T> evidence$1)
Scala API: Returns a Props that has default values except for "creator" which will be a function that creates an instance of the supplied type using the default constructor.scala.collection.immutable.Seq<java.lang.Object>
args()
boolean
canEqual(java.lang.Object x$1)
java.lang.Class<?>
clazz()
Props
copy(Deploy deploy, java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
Deploy
copy$default$1()
java.lang.Class<?>
copy$default$2()
scala.collection.immutable.Seq<java.lang.Object>
copy$default$3()
static Props
create(java.lang.Class<?> clazz, java.lang.Object... args)
static Props
create(java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
static <T extends Actor>
Propscreate(java.lang.Class<T> actorClass, Creator<T> creator)
static <T extends Actor>
Propscreate(Creator<T> creator)
static scala.Function0<Actor>
defaultCreator()
The defaultCreator, simply throws an UnsupportedOperationException when applied, which is used when creating a Propsstatic Deploy
defaultDeploy()
The default Deploy instance which is used when creating a Propsstatic RouterConfig
defaultRoutedProps()
The defaultRoutedProps is NoRouter which is used when creating a PropsDeploy
deploy()
java.lang.String
dispatcher()
Convenience method for extracting the dispatcher information from the containedDeploy
instance.static Props
empty()
A Props instance whose creator will create an actor that doesn't respond to any messageboolean
equals(java.lang.Object x$1)
int
hashCode()
java.lang.String
mailbox()
Convenience method for extracting the mailbox information from the containedDeploy
instance.int
productArity()
java.lang.Object
productElement(int x$1)
java.lang.String
productElementName(int x$1)
scala.collection.Iterator<java.lang.Object>
productIterator()
java.lang.String
productPrefix()
RouterConfig
routerConfig()
Convenience method for extracting the router configuration from the containedDeploy
instance.java.lang.String
toString()
static scala.Option<scala.Tuple3<Deploy,java.lang.Class<?>,scala.collection.immutable.Seq<java.lang.Object>>>
unapply(Props x$0)
Props
withActorTags(java.lang.String... tags)
Returns a new Props with the specified set of tags.Props
withActorTags(scala.collection.immutable.Seq<java.lang.String> tags)
Returns a new Props with the specified set of tags.Props
withActorTags(scala.collection.immutable.Set<java.lang.String> tags)
Scala API: Returns a new Props with the specified set of tags.Props
withDeploy(Deploy d)
Returns a new Props with the specified deployment configuration.Props
withDispatcher(java.lang.String d)
Returns a new Props with the specified dispatcher set.Props
withMailbox(java.lang.String m)
Returns a new Props with the specified mailbox set.Props
withRouter(RouterConfig r)
Returns a new Props with the specified router config set.
-
-
-
Constructor Detail
-
Props
public Props(Deploy deploy, java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
-
-
Method Detail
-
defaultCreator
public static final scala.Function0<Actor> defaultCreator()
The defaultCreator, simply throws an UnsupportedOperationException when applied, which is used when creating a Props
-
defaultRoutedProps
public static final RouterConfig defaultRoutedProps()
The defaultRoutedProps is NoRouter which is used when creating a Props
-
defaultDeploy
public static final Deploy defaultDeploy()
The default Deploy instance which is used when creating a Props
-
empty
public static final Props empty()
A Props instance whose creator will create an actor that doesn't respond to any message
-
apply
public static <T extends Actor> Props apply(scala.reflect.ClassTag<T> evidence$1)
Scala API: Returns a Props that has default values except for "creator" which will be a function that creates an instance of the supplied type using the default constructor.
-
apply
public static <T extends Actor> Props apply(scala.Function0<T> creator, scala.reflect.ClassTag<T> evidence$2)
Scala API: Returns a Props that has default values except for "creator" which will be a function that creates an instance using the supplied thunk.CAVEAT: Required mailbox type cannot be detected when using anonymous mixin composition when creating the instance. For example, the following will not detect the need for
DequeBasedMessageQueueSemantics
as defined inStash
:
Instead you must create a named class that mixin the trait, e.g.'Props(new Actor with Stash { ... })
class MyActor extends Actor with Stash
.
-
apply
public static Props apply(java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
Scala API: create a Props given a class and its constructor arguments.
-
apply
public static Props apply(Deploy deploy, java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
Props is a configuration object using in creating anActor
; it is immutable, so it is thread-safe and fully shareable.Examples on Scala API:
val props = Props.empty val props = Props[MyActor] val props = Props(classOf[MyActor], arg1, arg2) val otherProps = props.withDispatcher("dispatcher-id") val otherProps = props.withDeploy(<deployment info>)
Examples on Java API:
final Props props = Props.empty(); final Props props = Props.create(MyActor.class, arg1, arg2); final Props otherProps = props.withDispatcher("dispatcher-id"); final Props otherProps = props.withDeploy(<deployment info>);
-
unapply
public static scala.Option<scala.Tuple3<Deploy,java.lang.Class<?>,scala.collection.immutable.Seq<java.lang.Object>>> unapply(Props x$0)
-
create
public static Props create(java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
-
create
public static <T extends Actor> Props create(java.lang.Class<T> actorClass, Creator<T> creator)
-
create
public static Props create(java.lang.Class<?> clazz, java.lang.Object... args)
-
withActorTags
public Props withActorTags(java.lang.String... tags)
Returns a new Props with the specified set of tags.
-
deploy
public Deploy deploy()
-
clazz
public java.lang.Class<?> clazz()
-
args
public scala.collection.immutable.Seq<java.lang.Object> args()
-
dispatcher
public java.lang.String dispatcher()
Convenience method for extracting the dispatcher information from the containedDeploy
instance.
-
mailbox
public java.lang.String mailbox()
Convenience method for extracting the mailbox information from the containedDeploy
instance.
-
routerConfig
public RouterConfig routerConfig()
Convenience method for extracting the router configuration from the containedDeploy
instance.
-
withDispatcher
public Props withDispatcher(java.lang.String d)
Returns a new Props with the specified dispatcher set.
-
withMailbox
public Props withMailbox(java.lang.String m)
Returns a new Props with the specified mailbox set.
-
withRouter
public Props withRouter(RouterConfig r)
Returns a new Props with the specified router config set.
-
withDeploy
public Props withDeploy(Deploy d)
Returns a new Props with the specified deployment configuration.
-
withActorTags
public Props withActorTags(scala.collection.immutable.Seq<java.lang.String> tags)
Returns a new Props with the specified set of tags.
-
withActorTags
public Props withActorTags(scala.collection.immutable.Set<java.lang.String> tags)
Scala API: Returns a new Props with the specified set of tags.
-
actorClass
public java.lang.Class<? extends Actor> actorClass()
Obtain an upper-bound approximation of the actor class which is going to be created by these Props. In other words, the actor factory method will produce an instance of this class or a subclass thereof. This is used by the actor system to select special dispatchers or mailboxes in case dependencies are encoded in the actor type.
-
copy
public Props copy(Deploy deploy, java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
-
copy$default$1
public Deploy copy$default$1()
-
copy$default$2
public java.lang.Class<?> copy$default$2()
-
copy$default$3
public scala.collection.immutable.Seq<java.lang.Object> copy$default$3()
-
productPrefix
public java.lang.String productPrefix()
- Specified by:
productPrefix
in interfacescala.Product
-
productArity
public int productArity()
- Specified by:
productArity
in interfacescala.Product
-
productElement
public java.lang.Object productElement(int x$1)
- Specified by:
productElement
in interfacescala.Product
-
productIterator
public scala.collection.Iterator<java.lang.Object> productIterator()
- Specified by:
productIterator
in interfacescala.Product
-
canEqual
public boolean canEqual(java.lang.Object x$1)
- Specified by:
canEqual
in interfacescala.Equals
-
productElementName
public java.lang.String productElementName(int x$1)
- Specified by:
productElementName
in interfacescala.Product
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object x$1)
- Specified by:
equals
in interfacescala.Equals
- Overrides:
equals
in classjava.lang.Object
-
-