package org.akka.essentials.clientserver.sample; import akka.actor.PoisonPill; import akka.actor.UntypedActor; import akka.event.Logging; import akka.event.LoggingAdapter; public class ServerActor extends UntypedActor { LoggingAdapter log = Logging.getLogger(getContext().system(), this); private static int instanceCounter = 0; @Override public void preStart() { instanceCounter++; log.info("Starting ServerActor instance #" + instanceCounter + ", hashcode #" + this.hashCode()); } @Override public void onReceive(Object message) throws Exception { if (message instanceof String) { getSender().tell(message + " got something"); } else if (message instanceof PoisonPill) { getContext().system().shutdown(); } } @Override public void postStop() { log.info("Stoping ServerActor instance #" + instanceCounter + ", hashcode #" + this.hashCode()); instanceCounter--; } }