minor improvements

This commit is contained in:
Patrik Nordwall 2011-04-11 15:27:45 +02:00
parent 996fa5fbcf
commit f878ee4c5d
2 changed files with 14 additions and 15 deletions

View file

@ -263,7 +263,7 @@ If you want to send a message back to the original sender of the message you jus
val result = process(request)
self.reply(result)
In this case the 'result' will be send back to the Actor that send the 'request'.
In this case the 'result' will be send back to the Actor that sent the 'request'.
The 'reply' method throws an 'IllegalStateException' if unable to determine what to reply to, e.g. the sender is not an actor. You can also use the more forgiving 'reply_?' method which returns 'true' if reply was sent, and 'false' if unable to determine what to reply to.

View file

@ -41,7 +41,7 @@ Normally you would want to import the 'actorOf' method like this:
.. code-block:: java
import static akka.actor.Actors.*;
ActorRef actor = actorOf(SampleUntypedActor.class);
ActorRef myActor = actorOf(SampleUntypedActor.class);
To avoid prefix it with 'Actors' every time you use it.
@ -154,7 +154,7 @@ Using 'sendRequestReplyFuture' will send a message to the receiving Actor asynch
.. code-block:: java
Future future= actorRef.sendRequestReplyFuture("Hello", getContext(), 1000);
Future future = actorRef.sendRequestReplyFuture("Hello", getContext(), 1000);
The 'Future' interface looks like this:
@ -175,7 +175,7 @@ So the normal way of working with futures is something like this:
.. code-block:: java
Future future= actorRef.sendRequestReplyFuture("Hello", getContext(), 1000);
Future future = actorRef.sendRequestReplyFuture("Hello", getContext(), 1000);
future.await();
if (future.isCompleted()) {
Option resultOption = future.result();
@ -188,13 +188,6 @@ So the normal way of working with futures is something like this:
The 'onComplete' callback can be used to register a callback to get a notification when the Future completes. Gives you a way to avoid blocking.
We also have a utility class 'Futures' that have a couple of convenience methods:
.. code-block:: java
void awaitAll(Future[] futures);
Future awaitOne(Future[] futures)
Forward message
^^^^^^^^^^^^^^^
@ -207,7 +200,7 @@ You can forward a message from one actor to another. This means that the origina
Receive messages
----------------
When an actor receives a message is passed into the 'onReceive' method, this is an abstract method on the 'UntypedActor' base class that needs to be defined.
When an actor receives a message it is passed into the 'onReceive' method, this is an abstract method on the 'UntypedActor' base class that needs to be defined.
Here is an example:
@ -216,8 +209,10 @@ Here is an example:
public class SampleUntypedActor extends UntypedActor {
public void onReceive(Object message) throws Exception {
if (message instanceof String) log.info("Received String message: %s", message);
else throw new IllegalArgumentException("Unknown message: " + message);
if (message instanceof String)
EventHandler.info(this, String.format("Received String message: %s", message));
else
throw new IllegalArgumentException("Unknown message: " + message);
}
}
@ -241,7 +236,7 @@ If you want to send a message back to the original sender of the message you jus
}
}
In this case we will a reply back to the Actor that send the message.
In this case we will a reply back to the Actor that sent the message.
The 'replyUnsafe' method throws an 'IllegalStateException' if unable to determine what to reply to, e.g. the sender has not been passed along with the message when invoking one of 'send*' methods. You can also use the more forgiving 'replySafe' method which returns 'true' if reply was sent, and 'false' if unable to determine what to reply to.
@ -391,6 +386,8 @@ Use it like this:
.. code-block:: java
import static akka.actor.Actors.*;
actor.sendOneWay(poisonPill());
Killing an Actor
@ -402,6 +399,8 @@ Use it like this:
.. code-block:: java
import static akka.actor.Actors.*;
// kill the actor called 'victim'
victim.sendOneWay(kill());