public ProcessTerminatorActor(ActorRef ref, CountDownLatch latch) { this.latch = latch; getContext().watch(ref); }
private void addWatch(final Address addr, final ActorRef ref) { if (!watchedActors.containsKey(ref)) { getContext().watch(ref); LOG.debug("Watching {}", ref); } watchedActors.put(ref, addr); }
@Override public void onReceive(Object message) throws Exception { if(message instanceof Terminated){ Terminated terminated = (Terminated) message; if(LOG.isDebugEnabled()) { LOG.debug("Actor terminated : {}", terminated.actor()); } }else if(message instanceof Monitor){ Monitor monitor = (Monitor) message; getContext().watch(monitor.getActorRef()); } } }
public ProcessReaper(ActorRef watchTarget, Logger log, int exitCode) { if (watchTarget == null || watchTarget.equals(ActorRef.noSender())) { throw new IllegalArgumentException("Target may not be null or 'noSender'"); } this.log = log; this.exitCode = exitCode; getContext().watch(watchTarget); }
public ProcessReaper(ActorRef watchTarget, Logger log, int exitCode) { if (watchTarget == null || watchTarget.equals(ActorRef.noSender())) { throw new IllegalArgumentException("Target may not be null or 'noSender'"); } this.log = log; this.exitCode = exitCode; getContext().watch(watchTarget); }
public ProcessReaper(ActorRef watchTarget, Logger log, int exitCode) { if (watchTarget == null || watchTarget.equals(ActorRef.noSender())) { throw new IllegalArgumentException("Target may not be null or 'noSender'"); } this.log = log; this.exitCode = exitCode; getContext().watch(watchTarget); }
public ProcessReaper(ActorRef watchTarget, Logger log, int exitCode) { if (watchTarget == null || watchTarget.equals(ActorRef.noSender())) { throw new IllegalArgumentException("Target may not be null or 'noSender'"); } this.log = log; this.exitCode = exitCode; getContext().watch(watchTarget); }
@Override public void onReceive(Object message) throws Exception { if(message instanceof Terminated){ Terminated terminated = (Terminated) message; LOG.debug("Actor terminated : {}", terminated.actor()); } else if(message instanceof Monitor){ Monitor monitor = (Monitor) message; getContext().watch(monitor.getActorRef()); } } }
private void connectToJobManager(ActorRef jobManager) { LOG.info("Connect to JobManager {}.", jobManager); if (jobManager != ActorRef.noSender()) { getContext().unwatch(jobManager); } this.jobManager = jobManager; getContext().watch(jobManager); unregisterConnectionTimeout(); }
private void connectToJobManager(ActorRef jobManager) { LOG.info("Connect to JobManager {}.", jobManager); if (jobManager != ActorRef.noSender()) { getContext().unwatch(jobManager); } this.jobManager = jobManager; getContext().watch(jobManager); unregisterConnectionTimeout(); }
private void connectToJobManager(ActorRef jobManager) { LOG.info("Connect to JobManager {}.", jobManager); if (jobManager != ActorRef.noSender()) { getContext().unwatch(jobManager); } this.jobManager = jobManager; getContext().watch(jobManager); unregisterConnectionTimeout(); }
private void connectToJobManager(ActorRef jobManager) { LOG.info("Connect to JobManager {}.", jobManager); if (jobManager != ActorRef.noSender()) { getContext().unwatch(jobManager); } this.jobManager = jobManager; getContext().watch(jobManager); unregisterConnectionTimeout(); }
@Override public void onReceive(Object o) throws Exception { if ("Born".equals(o)) { final ActorSystem system = context().system(); childActor = system.actorOf(Props.create(SimpleActor.class), "child"); getContext().watch(childActor); System.out.println("Child created"); } else if ("Kill".equals(o)) { System.out.println("Kill child"); childActor.tell(PoisonPill.getInstance(), self()); } else if (o instanceof Terminated) { Terminated t = (Terminated)o; System.out.println("Child "+t.actor()+" was killed. And I've got message"); } else { System.out.println("Got message "+o); } }
@Override public void preStart() throws Exception { log.info("Starting up"); List<Routee> routees = new ArrayList<Routee>(); for (int i = 0; i < 100; i++) { ActorRef actor = getContext().actorOf(springExtension.props( "taskActor")); getContext().watch(actor); routees.add(new ActorRefRoutee(actor)); } router = new Router(new SmallestMailboxRoutingLogic(), routees); super.preStart(); }
@Override public void preStart() { router = new Router(new BroadcastRoutingLogic()); routees = new HashMap<ActorRef, String>(processes.size()); for (final Process process : processes) { logger.debug("starting " + process.getName() + " on port " + process.getPort()); final ActorRef processActor = getContext().actorOf(Props.create(ProcessActor.class, process), process.getName()); getContext().watch(processActor); router = router.addRoutee(processActor); routees.put(processActor, process.getName()); } router.route(Signal.FORK, getSelf()); state = State.STARTED; }
@Override public void onReceive(Object message) throws Exception { if (message instanceof Task) { router.route(message, getSender()); } else if (message instanceof Terminated) { // Readd task actors if one failed router = router.removeRoutee(((Terminated) message).actor()); ActorRef actor = getContext().actorOf(springExtension.props ("taskActor")); getContext().watch(actor); router = router.addRoutee(new ActorRefRoutee(actor)); } else { log.error("Unable to handle message {}", message); } }
public Worker(ActorRef clusterClient, Props workExecutorProps, FiniteDuration registerInterval) { this.clusterClient = clusterClient; this.workExecutor = getContext().watch(getContext().actorOf(workExecutorProps, "exec")); this.registerTask = getContext().system().scheduler().schedule(Duration.Zero(), registerInterval, clusterClient, new SendToAll("/user/master/singleton", new RegisterWorker(workerId)), getContext().dispatcher(), getSelf()); }
getContext().watch(actor); if (logger.isDebugEnabled()) { logger.debug("Created and watching actor: " + actor.path().toString());
getContext().watch(updateMetaDataWorker);