=doc #3689 Make activator template for akka.Main
This commit is contained in:
parent
8b6b2965e5
commit
362074177a
25 changed files with 428 additions and 184 deletions
|
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com>
|
||||
*/
|
||||
package sample.hello;
|
||||
|
||||
import akka.actor.ActorRef;
|
||||
import akka.actor.ActorSystem;
|
||||
import akka.actor.Props;
|
||||
import akka.actor.Terminated;
|
||||
import akka.actor.UntypedActor;
|
||||
import akka.event.Logging;
|
||||
import akka.event.LoggingAdapter;
|
||||
|
||||
public class Main2 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
ActorSystem system = ActorSystem.create("Hello");
|
||||
ActorRef a = system.actorOf(Props.create(HelloWorld.class), "helloWorld");
|
||||
system.actorOf(Props.create(Terminator.class, a), "terminator");
|
||||
}
|
||||
|
||||
public static class Terminator extends UntypedActor {
|
||||
|
||||
private final LoggingAdapter log = Logging.getLogger(getContext().system(), this);
|
||||
private final ActorRef ref;
|
||||
|
||||
public Terminator(ActorRef ref) {
|
||||
this.ref = ref;
|
||||
getContext().watch(ref);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReceive(Object msg) {
|
||||
if (msg instanceof Terminated) {
|
||||
log.info("{} has terminated, shutting down system", ref.path());
|
||||
getContext().system().shutdown();
|
||||
} else {
|
||||
unhandled(msg);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue