add akka-typed project with generic ActorRef
This is the first step towards more type-safety in Actor interactions, comprising: * generic ActorRef[T] that only accepts T messages * generic ActorSystem[T] extends ActorRef[T] (sending to the guardian, whose Props[T] are provided for ActorSystem construction) * removed the Actor trait: everything in there has been made into messages and signals * new Behavior[T] abstraction that consumes messages (of type T) or Signals (lifecycle hooks, Terminated, ReceiveTimeout, Failed), producing the next Behavior[T] as the result each time * the ask pattern is provided and yields properly typed Futures * variants of ActorContext are provided for synchronous testing of Behaviors All of this is implemented without touching code outside akka-typed (apart from making guardianProps configurable), creating wrapper objects around ActorRef, ActorContext, ActorSystem, Props and providing an Actor implementation that just runs a Behavior.
This commit is contained in:
parent
50d1569f37
commit
d9efd041f7
40 changed files with 4724 additions and 21 deletions
|
|
@ -0,0 +1,40 @@
|
|||
/**
|
||||
* Copyright (C) 2014 Typesafe Inc. <http://www.typesafe.com>
|
||||
*/
|
||||
package akka.util;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/*
|
||||
* IMPORTANT: do not change this file, the line numbers are verified in LineNumberSpec
|
||||
*/
|
||||
|
||||
public class LineNumberSpecCodeForJava {
|
||||
|
||||
// @FunctionalInterface // will be uncommented as soon as '-source 1.8' is set
|
||||
public static interface F extends Serializable {
|
||||
public String doit(String arg);
|
||||
}
|
||||
|
||||
// public F f1() { // FIXME These are commented out until the build is switched to Java 8
|
||||
// return (s) -> s;
|
||||
// }
|
||||
|
||||
// public F f2() {
|
||||
// return (s) -> {
|
||||
// System.out.println(s);
|
||||
// return s;
|
||||
// };
|
||||
// }
|
||||
|
||||
public F f3() {
|
||||
return new F() {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Override
|
||||
public String doit(String arg) {
|
||||
return arg;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue