/** * @param prj Grid nodes projection. * @return Whether given projection contains any local node. */ private boolean hasLocalNode(GridProjection prj) { for (GridNode n : prj.nodes()) { if (n.isLocal()) return true; } return false; }
/** * @param prj Grid nodes projection. * @return Whether given projection contains any local node. */ private boolean hasLocalNode(GridProjection prj) { for (GridNode n : prj.nodes()) { if (n.isLocal()) return true; } return false; }
/** {@inheritDoc} */ @Override public <R> GridFuture<Collection<R>> broadcast(Callable<R> job) { A.notNull(job, "job"); guard(); try { return ctx.closure().callAsync(BROADCAST, Arrays.asList(job), prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <R, T> GridFuture<R> apply(GridClosure<T, R> job, @Nullable T arg) { A.notNull(job, "job"); guard(); try { return ctx.closure().callAsync(job, arg, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public void send(@Nullable Object topic, Object msg) throws GridException { A.notNull(msg, "msg"); guard(); try { Collection<GridNode> snapshot = prj.nodes(); if (snapshot.isEmpty()) throw U.emptyTopologyException(); ctx.io().sendUserMessage(snapshot, msg, topic, false, 0); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <R, T> GridFuture<Collection<R>> broadcast(GridClosure<T, R> job, @Nullable T arg) { A.notNull(job, "job"); guard(); try { return ctx.closure().broadcast(job, arg, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <T extends GridEvent> GridFuture<List<T>> remoteQuery(GridPredicate<T> p, long timeout, @Nullable int... types) { A.notNull(p, "p"); guard(); try { return ctx.event().remoteEventsAsync(compoundPredicate(p, types), prj.nodes(), timeout); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public GridFuture<?> affinityRun(@Nullable String cacheName, Object affKey, Runnable job) { A.notNull(affKey, "affKey"); A.notNull(job, "job"); guard(); try { return ctx.closure().affinityRun(cacheName, affKey, job, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <R> GridFuture<R> affinityCall(@Nullable String cacheName, Object affKey, Callable<R> job) { A.notNull(affKey, "affKey"); A.notNull(job, "job"); guard(); try { return ctx.closure().affinityCall(cacheName, affKey, job, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public GridFuture<?> broadcast(Runnable job) { A.notNull(job, "job"); guard(); try { return ctx.closure().runAsync(BROADCAST, job, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <R> GridFuture<Collection<R>> call(Collection<? extends Callable<R>> jobs) { A.notEmpty(jobs, "jobs"); guard(); try { return ctx.closure().callAsync(BALANCE, jobs, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public GridFuture<?> run(Collection<? extends Runnable> jobs) { A.notEmpty(jobs, "jobs"); guard(); try { return ctx.closure().runAsync(BALANCE, jobs, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <R> GridFuture<R> call(Callable<R> job) { A.notNull(job, "job"); guard(); try { return ctx.closure().callAsync(BALANCE, job, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public GridFuture<?> run(Runnable job) { A.notNull(job, "job"); guard(); try { return ctx.closure().runAsync(BALANCE, job, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <R1, R2> GridFuture<R2> call(Collection<? extends Callable<R1>> jobs, GridReducer<R1, R2> rdc) { A.notEmpty(jobs, "jobs"); A.notNull(rdc, "rdc"); guard(); try { return ctx.closure().forkjoinAsync(BALANCE, jobs, rdc, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <T, R> GridComputeTaskFuture<R> execute(GridComputeTask<T, R> task, @Nullable T arg) { A.notNull(task, "task"); guard(); try { ctx.task().setThreadContextIfNotNull(TC_SUBGRID, prj.nodes()); ctx.task().setThreadContextIfNotNull(TC_SUBJ_ID, subjId); return ctx.task().execute(task, arg); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <T, R> GridComputeTaskFuture<R> execute(String taskName, @Nullable T arg) { A.notNull(taskName, "taskName"); guard(); try { ctx.task().setThreadContextIfNotNull(TC_SUBGRID, prj.nodes()); ctx.task().setThreadContextIfNotNull(TC_SUBJ_ID, subjId); return ctx.task().execute(taskName, arg); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public <R1, R2, T> GridFuture<R2> apply(GridClosure<T, R1> job, Collection<? extends T> args, GridReducer<R1, R2> rdc) { A.notNull(job, "job"); A.notNull(rdc, "rdc"); A.notNull(args, "args"); guard(); try { return ctx.closure().callAsync(job, args, rdc, prj.nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public void undeployTask(String taskName) throws GridException { A.notNull(taskName, "taskName"); guard(); try { ctx.deploy().undeployTask(taskName, prj.node(ctx.localNodeId()) != null, prj.forRemotes().nodes()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public void isolated(boolean isolated) throws GridException { if (isolated()) return; GridNode node = F.first(ctx.grid().forCache(cacheName).nodes()); if (node == null) throw new GridException("Failed to get node for cache: " + cacheName); GridCacheAttributes a = U.cacheAttributes(node, cacheName); assert a != null; updater = a.atomicityMode() == GridCacheAtomicityMode.ATOMIC ? GridDataLoadCacheUpdaters.<K, V>batched() : GridDataLoadCacheUpdaters.<K, V>groupLocked(); }