DOC: Describe pattern.after, see #2410

This commit is contained in:
Patrik Nordwall 2012-08-20 19:49:01 +02:00
parent 7b45360b5f
commit 00f0d1f263
4 changed files with 50 additions and 0 deletions

View file

@ -48,6 +48,11 @@ import scala.concurrent.ExecutionContext$;
//#imports7
//#imports8
import static akka.pattern.Patterns.after;
//#imports8
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -508,6 +513,25 @@ public class FutureDocTestBase {
}
@Test(expected = IllegalStateException.class)
public void useAfter() throws Exception {
//#after
final ExecutionContext ec = system.dispatcher();
Future<String> failExc = Futures.failed(new IllegalStateException("OHNOES1"));
Future<String> delayed = Patterns.after(Duration.parse("500 millis"),
system.scheduler(), ec, failExc);
Future<String> future = future(new Callable<String>() {
public String call() throws InterruptedException {
Thread.sleep(1000);
return "foo";
}
}, ec);
Future<String> result = Futures.firstCompletedOf(
Arrays.asList(future, delayed), ec);
//#after
Await.result(result, Duration.create(2, SECONDS));
}
public static class MyActor extends UntypedActor {
public void onReceive(Object message) {
if (message instanceof String) {