package org.akka.essentials.grid.controller; import java.util.concurrent.TimeUnit; import scala.concurrent.duration.Duration; import akka.actor.UntypedActor; import akka.event.Logging; import akka.event.LoggingAdapter; public class WorkSchedulerActor extends UntypedActor { LoggingAdapter log = Logging.getLogger(getContext().system(), this); @Override public void onReceive(Object message) throws Exception { if (message instanceof Integer) { getContext() .system() .scheduler() .scheduleOnce( Duration.create(((Integer) message).intValue(), TimeUnit.SECONDS), getContext().sender(), "SendWork",getContext().dispatcher()); } else if (message instanceof String) { log.info("Recieved work sending request"); getContext() .system() .scheduler() .scheduleOnce(Duration.create(1000, TimeUnit.MILLISECONDS), getContext().sender(), "SendWork",getContext().dispatcher()); } } }