public final class Props
extends java.lang.Object
implements scala.Product, scala.Serializable
Actor
; 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>);
Constructor and Description |
---|
Props(Deploy deploy,
java.lang.Class<?> clazz,
scala.collection.immutable.Seq<java.lang.Object> args) |
Modifier and Type | Method and 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.Seq<java.lang.Object> args)
Scala API: create a Props given a class and its constructor arguments.
|
static <T extends Actor> |
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.
|
static <T extends Actor> |
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.
|
scala.collection.immutable.Seq<java.lang.Object> |
args() |
java.lang.Class<?> |
clazz() |
static <T extends Actor> |
create(
Create new Props from the given
Creator . |
static Props |
create(java.lang.Class<?> clazz,
java.lang.Object... args)
Java API: create a Props given a class and its constructor arguments.
|
static Props |
create(java.lang.Class<?> clazz,
scala.collection.Seq<java.lang.Object> args)
Java API: create a Props given a class and its constructor arguments.
|
static <T extends Actor> |
create(java.lang.Class<T> actorClass,
Create new Props from the given
Creator with the type set to the given actorClass. |
static scala.Function0<Actor> |
defaultCreator()
The defaultCreator, simply throws an UnsupportedOperationException when applied, which is used when creating a Props
|
static Deploy |
defaultDeploy()
The default Deploy instance which is used when creating a Props
|
static akka.routing.RouterConfig |
defaultRoutedProps()
The defaultRoutedProps is NoRouter which is used when creating a Props
|
Deploy |
deploy() |
java.lang.String |
dispatcher()
Convenience method for extracting the dispatcher information from the
contained
Deploy instance. |
static Props |
empty()
A Props instance whose creator will create an actor that doesn't respond to any message
|
java.lang.String |
mailbox()
Convenience method for extracting the mailbox information from the
contained
Deploy instance. |
akka.routing.RouterConfig |
routerConfig()
Convenience method for extracting the router configuration from the
contained
Deploy instance. |
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(akka.routing.RouterConfig r)
Returns a new Props with the specified router config set.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public Props(Deploy deploy, java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
public static Props create(java.lang.Class<?> clazz, java.lang.Object... args)
public static final scala.Function0<Actor> defaultCreator()
public static final akka.routing.RouterConfig defaultRoutedProps()
public static final Deploy defaultDeploy()
public static final Props empty()
public static <T extends Actor> Props apply(scala.reflect.ClassTag<T> evidence$1)
public static <T extends Actor> Props apply(scala.Function0<T> creator, scala.reflect.ClassTag<T> evidence$2)
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 in Stash
:
'Props(new Actor with Stash { ... })
Instead you must create a named class that mixin the trait,
e.g. class MyActor extends Actor with Stash
.public static Props apply(java.lang.Class<?> clazz, scala.collection.Seq<java.lang.Object> args)
public static Props create(java.lang.Class<?> clazz, scala.collection.Seq<java.lang.Object> args)
public static <T extends Actor> Props create(creator)
Creator
.
You can not use a Java 8 lambda with this method since the generated classes don't carry enough type information.
Use the Props.create(actorClass, creator) instead.
public static <T extends Actor> Props create(java.lang.Class<T> actorClass,creator)
Creator
with the type set to the given actorClass.public Deploy deploy()
public java.lang.Class<?> clazz()
public scala.collection.immutable.Seq<java.lang.Object> args()
public java.lang.String dispatcher()
Deploy
instance.public java.lang.String mailbox()
Deploy
instance.public akka.routing.RouterConfig routerConfig()
Deploy
instance.public Props withDispatcher(java.lang.String d)
public Props withMailbox(java.lang.String m)
public Props withRouter(akka.routing.RouterConfig r)
public Props withDeploy(Deploy d)
public java.lang.Class<? extends Actor> actorClass()