package org.akka.essentials.calculator.example3; import akka.actor.UntypedActor; import akka.event.Logging; import akka.event.LoggingAdapter; public class ChildActor extends UntypedActor { LoggingAdapter log = Logging.getLogger(getContext().system(), this); public void preStart() { log.info("Child Actor Started > {}", self().path()); } @Override public void onReceive(Object message) throws Exception { if (message instanceof String) { throw new IllegalArgumentException("boom!"); } else if (message instanceof Integer) { Integer value = (Integer) message; getSender().tell(value * value); } else unhandled(message); } public void postStop() { log.info("Child Actor Stopped > {}", self().path()); } }