/** * Adds local event listener. * * @param lsnr Listener. * @param evts Types of events. */ public void addListener(GridLocalEventListener lsnr, int... evts) { cctx.gridEvents().addLocalEventListener(lsnr, evts); }
/** * Adds local user event listener. * * @param lsnr User listener to add. * @param types Event types to subscribe listener for. */ public void addLocalEventListener(GridPredicate<? extends GridEvent> lsnr, int[] types) { addLocalEventListener(new UserListenerWrapper(lsnr), types); }
/** {@inheritDoc} */ @Override public void onKernalStart() throws GridException { ctx.event().addLocalEventListener(lsnr, EVT_NODE_FAILED, EVT_NODE_LEFT, EVT_NODE_JOINED); }
/** {@inheritDoc} */ @Override public void onKernalStart0() throws GridException { cctx.gridEvents().addLocalEventListener(discoLsnr, EVT_NODE_FAILED, EVT_NODE_LEFT); }
/** * * @param p Optional predicate. * @param types Event types to wait for. * @return Event future. */ public <T extends GridEvent> GridFuture<T> waitForEvent(@Nullable final GridPredicate<T> p, @Nullable int... types) { final GridFutureAdapter<T> fut = new GridFutureAdapter<>(ctx); addLocalEventListener(new GridLocalEventListener() { @Override public void onEvent(GridEvent evt) { if (p == null || p.apply((T)evt)) { fut.onDone((T)evt); removeLocalEventListener(this); } } }, F.isEmpty(types) ? GridEventType.EVTS_ALL : types); return fut; }
@Override public void addLocalEventListener(GridLocalEventListener lsnr, int... types) { A.notNull(lsnr, "lsnr"); ctx.event().addLocalEventListener(lsnr, types); }
/** * * @param timeout Timeout. * @param c Optional continuation. * @param p Optional predicate. * @param types Event types to wait for. * @return Event. * @throws GridException Thrown in case of any errors. */ public GridEvent waitForEvent(long timeout, @Nullable Runnable c, @Nullable final GridPredicate<? super GridEvent> p, int... types) throws GridException { assert timeout >= 0; final GridFutureAdapter<GridEvent> fut = new GridFutureAdapter<>(ctx); addLocalEventListener(new GridLocalEventListener() { @Override public void onEvent(GridEvent evt) { if (p == null || p.apply(evt)) { fut.onDone(evt); removeLocalEventListener(this); } } }, types); try { if (c != null) c.run(); } catch (Exception e) { throw new GridException(e); } return fut.get(timeout); }
/** Initializes future. */ private void init() { ctx.event().addLocalEventListener(this, EVT_NODE_JOINED, EVT_NODE_LEFT, EVT_NODE_FAILED); // Close potential window. long topVer = ctx.discovery().topologyVersion(); if (topVer >= awaitVer) onDone(topVer); }
/** {@inheritDoc} */ @Override public void localListen(GridPredicate<? extends GridEvent> lsnr, int[] types) { A.notNull(lsnr, "lsnr"); A.notEmpty(types, "types"); guard(); try { ctx.event().addLocalEventListener(lsnr, types); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public void start0() throws GridException { txSerEnabled = cctx.config().isTxSerializableEnabled(); dataCenterId = cctx.kernalContext().config().getDataCenterId(); last = new GridCacheVersion(0, 0, order.get(), 0, dataCenterId); cctx.gridEvents().addLocalEventListener(discoLsnr, EVT_NODE_METRICS_UPDATED); }
/** {@inheritDoc} */ @Override public void start() throws GridException { Map<GridPredicate<? extends GridEvent>, int[]> evtLsnrs = ctx.config().getLocalEventListeners(); if (evtLsnrs != null) { for (GridPredicate<? extends GridEvent> lsnr : evtLsnrs.keySet()) addLocalEventListener(lsnr, evtLsnrs.get(lsnr)); } startSpi(); msgLsnr = new RequestListener(); ctx.io().addMessageListener(TOPIC_EVENT, msgLsnr); if (log.isDebugEnabled()) log.debug(startInfo()); }
ctx.event().addLocalEventListener(discoLsnr, EVT_NODE_FAILED, EVT_NODE_LEFT
/** * Constructor. */ protected FragmentizerCoordinator() { super(ggfsCtx.kernalContext().gridName(), "fragmentizer-coordinator", ggfsCtx.kernalContext().log()); ggfsCtx.kernalContext().event().addLocalEventListener(this, EVT_NODE_LEFT, EVT_NODE_FAILED); ggfsCtx.kernalContext().io().addMessageListener(topic, this); }
/** * Constructor. */ protected FragmentizerCoordinator() { super(ggfsCtx.kernalContext().gridName(), "fragmentizer-coordinator", ggfsCtx.kernalContext().log()); ggfsCtx.kernalContext().event().addLocalEventListener(this, EVT_NODE_LEFT, EVT_NODE_FAILED); ggfsCtx.kernalContext().io().addMessageListener(topic, this); }
/** {@inheritDoc} */ @Override public void start() throws GridException { super.start(); clockSrc = ctx.timeSource(); srv = new GridClockServer(); srv.start(ctx); ctx.io().addMessageListener(TOPIC_TIME_SYNC, new GridMessageListener() { @Override public void onMessage(UUID nodeId, Object msg) { assert msg instanceof GridClockDeltaSnapshotMessage; GridClockDeltaSnapshotMessage msg0 = (GridClockDeltaSnapshotMessage)msg; GridClockDeltaVersion ver = msg0.snapshotVersion(); timeSyncHist.put(ver, new GridClockDeltaSnapshot(ver, msg0.deltas())); } }); // We care only about node leave and fail events. ctx.event().addLocalEventListener(new GridLocalEventListener() { @Override public void onEvent(GridEvent evt) { assert evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED || evt.type() == EVT_NODE_JOINED; GridDiscoveryEvent discoEvt = (GridDiscoveryEvent)evt; if (evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED) checkLaunchCoordinator(discoEvt); TimeCoordinator timeCoord0 = timeCoord; if (timeCoord0 != null) timeCoord0.onDiscoveryEvent(discoEvt); } }, EVT_NODE_LEFT, EVT_NODE_FAILED, EVT_NODE_JOINED); }
/** {@inheritDoc} */ @Override public void start() { ctx.event().addLocalEventListener(discoLsnr, EVT_NODE_FAILED, EVT_NODE_LEFT); ctx.io().addMessageListener(TOPIC_JOB_SIBLINGS, new JobSiblingsMessageListener()); ctx.io().addMessageListener(TOPIC_TASK_CANCEL, new TaskCancelMessageListener()); ctx.io().addMessageListener(TOPIC_TASK, new JobMessageListener(true)); if (log.isDebugEnabled()) log.debug("Started task processor."); }
/** {@inheritDoc} */ @Override public void start() throws GridException { if (metricsUpdateFreq < -1) throw new GridException("Invalid value for 'metricsUpdateFrequency' configuration property " + "(should be greater than or equals to -1): " + metricsUpdateFreq); if (metricsUpdateFreq == -1) U.warn(log, "Job metrics are disabled (use with caution)."); if (!jobAlwaysActivate) ctx.collision().setCollisionExternalListener(new CollisionExternalListener()); GridIoManager ioMgr = ctx.io(); ioMgr.addMessageListener(TOPIC_JOB_CANCEL, cancelLsnr); ioMgr.addMessageListener(TOPIC_JOB, jobExecLsnr); ctx.event().addLocalEventListener(discoLsnr, EVT_NODE_FAILED, EVT_NODE_LEFT, EVT_NODE_METRICS_UPDATED); if (log.isDebugEnabled()) log.debug("Job processor started."); }
/** {@inheritDoc} */ @Override protected void start0() throws GridException { if (!ggfsCtx.configuration().isFragmentizerEnabled()) return; // We care only about node leave and fail events. ggfsCtx.kernalContext().event().addLocalEventListener(new GridLocalEventListener() { @Override public void onEvent(GridEvent evt) { assert evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED; GridDiscoveryEvent discoEvt = (GridDiscoveryEvent)evt; checkLaunchCoordinator(discoEvt); } }, EVT_NODE_LEFT, EVT_NODE_FAILED); fragmentizerWorker = new FragmentizerWorker(); String ggfsName = ggfsCtx.configuration().getName(); topic = F.isEmpty(ggfsName) ? TOPIC_GGFS : TOPIC_GGFS.topic(ggfsName); ggfsCtx.kernalContext().io().addMessageListener(topic, fragmentizerWorker); new GridThread(fragmentizerWorker).start(); }
/** {@inheritDoc} */ @Override protected void start0() throws GridException { if (!ggfsCtx.configuration().isFragmentizerEnabled()) return; // We care only about node leave and fail events. ggfsCtx.kernalContext().event().addLocalEventListener(new GridLocalEventListener() { @Override public void onEvent(GridEvent evt) { assert evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED; GridDiscoveryEvent discoEvt = (GridDiscoveryEvent)evt; checkLaunchCoordinator(discoEvt); } }, EVT_NODE_LEFT, EVT_NODE_FAILED); fragmentizerWorker = new FragmentizerWorker(); String ggfsName = ggfsCtx.configuration().getName(); topic = F.isEmpty(ggfsName) ? TOPIC_GGFS : TOPIC_GGFS.topic(ggfsName); ggfsCtx.kernalContext().io().addMessageListener(topic, fragmentizerWorker); new GridThread(fragmentizerWorker).start(); }
ctx.event().addLocalEventListener(topLsnr, EVTS_DISCOVERY);