|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectakka.actor.Props
public final class Props
Props is a configuration object using in creating an Props.EmptyActor
; 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>);
Nested Class Summary | |
---|---|
static class |
Props.EmptyActor
INTERNAL API |
Constructor Summary | |
---|---|
Props(Deploy deploy,
java.lang.Class<?> clazz,
scala.collection.immutable.Seq<java.lang.Object> args)
|
Method Summary | ||
---|---|---|
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
|
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
|
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 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
|
create(java.lang.Class<T> actorClass,
Creator<T> creator)
Create new Props from the given Creator with the type set to the given actorClass. |
|
static
|
create(Creator<T> creator)
Create new Props from the given Creator . |
|
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 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. |
|
Actor |
newActor()
INTERNAL API |
|
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(RouterConfig r)
Returns a new Props with the specified router config set. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface scala.Product |
---|
productArity, productElement, productIterator, productPrefix |
Methods inherited from interface scala.Equals |
---|
canEqual, equals |
Constructor Detail |
---|
public Props(Deploy deploy, java.lang.Class<?> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
Method Detail |
---|
public static Props create(java.lang.Class<?> clazz, java.lang.Object... args)
public static final scala.Function0<Actor> defaultCreator()
public static final 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<T> 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<T> 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 RouterConfig routerConfig()
Deploy
instance.
public Props withDispatcher(java.lang.String d)
public Props withMailbox(java.lang.String m)
public Props withRouter(RouterConfig r)
public Props withDeploy(Deploy d)
public java.lang.Class<? extends Actor> actorClass()
public Actor newActor()
Create a new actor instance. This method is only useful when called during
actor creation by the ActorSystem, i.e. for user-level code it can only be
used within the implementation of IndirectActorProducer.produce()
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |