当前位置: 首页>>代码示例>>Java>>正文


Java ClusterNode类代码示例

本文整理汇总了Java中org.apache.ignite.cluster.ClusterNode的典型用法代码示例。如果您正苦于以下问题:Java ClusterNode类的具体用法?Java ClusterNode怎么用?Java ClusterNode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ClusterNode类属于org.apache.ignite.cluster包,在下文中一共展示了ClusterNode类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setupCrossOver

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * Helper method to help assign ComputeJobs to respective ClusterNodes
 * 
 * @param clusterNode
 * @param keys
 * @param map
 * @return Map<ComputeJob, ClusterNode>
 */

private Map<ComputeJob, ClusterNode> setupCrossOver(ClusterNode clusterNode, List<Long> keys,
    Map<ComputeJob, ClusterNode> map) {
    // Calculate number of Jobs = keys / 2
    // as we desire pairs of Chromosomes to be swapped
    int numberOfJobs = keys.size() / 2;
    int k = 0;
    for (int i = 0; i < numberOfJobs; i++) {
        Long key1 = keys.get(k);
        Long key2 = keys.get(k + 1);

        CrossOverJob job = new CrossOverJob(key1, key2, this.config.getCrossOverRate());
        map.put(job, clusterNode);
        k = k + 2;
    }
    return map;
}
 
开发者ID:techbysample,项目名称:gagrid,代码行数:26,代码来源:CrossOverTask.java

示例2: update

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * @param cacheName Cache name.
 * @param fun An operation that accepts a cache entry and processes it.
 * @param ignite Ignite.
 * @param keysGen Keys generator.
 * @param <K> Cache key object type.
 * @param <V> Cache value object type.
 */
public static <K, V> void update(String cacheName, Ignite ignite,
    IgniteBiFunction<Ignite, Cache.Entry<K, V>, Stream<Cache.Entry<K, V>>> fun, IgniteSupplier<Set<K>> keysGen) {
    bcast(cacheName, ignite, () -> {
        Ignite ig = Ignition.localIgnite();
        IgniteCache<K, V> cache = ig.getOrCreateCache(cacheName);

        Affinity<K> affinity = ig.affinity(cacheName);
        ClusterNode locNode = ig.cluster().localNode();

        Collection<K> ks = affinity.mapKeysToNodes(keysGen.get()).get(locNode);

        if (ks == null)
            return;

        Map<K, V> m = new ConcurrentHashMap<>();

        ks.parallelStream().forEach(k -> {
            V v = cache.localPeek(k);
            if (v != null)
                (fun.apply(ignite, new CacheEntryImpl<>(k, v))).forEach(ent -> m.put(ent.getKey(), ent.getValue()));
        });

        cache.putAll(m);
    });
}
 
开发者ID:Luodian,项目名称:Higher-Cloud-Computing-Project,代码行数:34,代码来源:CacheUtils.java

示例3: waitForRemoteNodes

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * @param ignite Grid
 * @param cnt    Count
 * @throws IgniteCheckedException If failed.
 */
protected void waitForRemoteNodes(Ignite ignite, int cnt) throws IgniteCheckedException {
    while (true) {
        Collection<ClusterNode> nodes = ignite.cluster().forRemotes().nodes();

        if (nodes != null && nodes.size() == cnt)
            return;

        try {
            Thread.sleep(100);
        } catch (InterruptedException ignored) {
            throw new IgniteCheckedException("Interrupted while waiting for remote nodes [gridName=" + ignite.name() +
                    ", count=" + cnt + ']');
        }
    }
}
 
开发者ID:aalda,项目名称:ignite-redis,代码行数:21,代码来源:TcpDiscoveryIpFinderBaseTest.java

示例4: sendMessage

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/** {@inheritDoc} */
@Override public void sendMessage(
    final ClusterNode node,
    final Message msg,
    final IgniteInClosure<IgniteException> ackC
) throws IgniteSpiException {
    if (msg instanceof GridIoMessage) {
        Message msg0 = ((GridIoMessage)msg).message();

        if (msg0 instanceof GridNearTxPrepareRequest && delay) {
            try {
                U.sleep(TX_TIMEOUT * 2);
            }
            catch (IgniteInterruptedCheckedException e) {
                e.printStackTrace();
            }
        }
    }

    super.sendMessage(node, msg, ackC);
}
 
开发者ID:apache,项目名称:ignite,代码行数:22,代码来源:IgniteTxConfigCacheSelfTest.java

示例5: map0

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * Actual map logic.
 *
 * @param arg Task execution argument.
 * @param subgrid Nodes available for this task execution.
 * @return Map of grid jobs assigned to subgrid node.
 * @throws IgniteException If mapping could not complete successfully.
 */
protected Map<? extends ComputeJob, ClusterNode> map0(List<ClusterNode> subgrid, VisorTaskArgument<A> arg) {
    Collection<UUID> nodeIds = jobNodes(arg);

    Map<ComputeJob, ClusterNode> map = U.newHashMap(nodeIds.size());

    try {
        for (ClusterNode node : subgrid)
            if (nodeIds.contains(node.id()))
                map.put(job(taskArg), node);

        return map;
    }
    finally {
        if (debug)
            logMapped(ignite.log(), getClass(), map.values());
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:26,代码来源:VisorMultiNodeTask.java

示例6: onDmlResponse

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * Process response for DML request.
 *
 * @param node Node.
 * @param msg Message.
 */
private void onDmlResponse(final ClusterNode node, GridH2DmlResponse msg) {
    try {
        long reqId = msg.requestId();

        DistributedUpdateRun r = updRuns.get(reqId);

        if (r == null) {
            U.warn(log, "Unexpected dml response (will ignore). [localNodeId=" + ctx.localNodeId() + ", nodeId=" +
                node.id() + ", msg=" + msg.toString() + ']');

            return;
        }

        r.handleResponse(node.id(), msg);
    }
    catch (Exception e) {
        U.error(log, "Error in dml response processing. [localNodeId=" + ctx.localNodeId() + ", nodeId=" +
            node.id() + ", msg=" + msg.toString() + ']', e);
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:27,代码来源:GridReduceQueryExecutor.java

示例7: releaseRemoteResources

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * Release remote resources if needed.
 *
 * @param nodes Query nodes.
 * @param r Query run.
 * @param qryReqId Query id.
 * @param distributedJoins Distributed join flag.
 */
public void releaseRemoteResources(Collection<ClusterNode> nodes, ReduceQueryRun r, long qryReqId,
    boolean distributedJoins) {
    // For distributedJoins need always send cancel request to cleanup resources.
    if (distributedJoins)
        send(nodes, new GridQueryCancelRequest(qryReqId), null, false);
    else {
        for (GridMergeIndex idx : r.indexes()) {
            if (!idx.fetchedAll()) {
                send(nodes, new GridQueryCancelRequest(qryReqId), null, false);

                break;
            }
        }
    }

    if (!runs.remove(qryReqId, r))
        U.warn(log, "Query run was already removed: " + qryReqId);
}
 
开发者ID:apache,项目名称:ignite,代码行数:27,代码来源:GridReduceQueryExecutor.java

示例8: createTcpClient

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/** {@inheritDoc} */
@Override protected GridCommunicationClient createTcpClient(ClusterNode node, int connIdx)
    throws IgniteCheckedException {
    if (PRED.apply(node)) {
        Map<String, Object> attrs = new HashMap<>(node.attributes());

        attrs.put(createAttributeName(ATTR_ADDRS), Collections.singleton("127.0.0.1"));
        attrs.put(createAttributeName(ATTR_PORT), 47200);
        attrs.put(createAttributeName(ATTR_EXT_ADDRS), Collections.emptyList());
        attrs.put(createAttributeName(ATTR_HOST_NAMES), Collections.emptyList());

        ((TcpDiscoveryNode)node).setAttributes(attrs);
    }

    return super.createTcpClient(node, connIdx);
}
 
开发者ID:apache,项目名称:ignite,代码行数:17,代码来源:TcpCommunicationSpiFaultyClientTest.java

示例9: clusterMetrics

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/** {@inheritDoc} */
@Override public CacheMetrics clusterMetrics(ClusterGroup grp) {
    List<CacheMetrics> metrics = new ArrayList<>(grp.nodes().size());

    for (ClusterNode node : grp.nodes()) {
        Map<Integer, CacheMetrics> nodeCacheMetrics = ((TcpDiscoveryNode)node).cacheMetrics();

        if (nodeCacheMetrics != null) {
            CacheMetrics e = nodeCacheMetrics.get(context().cacheId());

            if (e != null)
                metrics.add(e);
        }
    }

    return new CacheMetricsSnapshot(ctx.cache().localMetrics(), metrics);
}
 
开发者ID:apache,项目名称:ignite,代码行数:18,代码来源:GridCacheAdapter.java

示例10: testNodeSingletonProxy

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * @throws Exception If failed.
 */
public void testNodeSingletonProxy() throws Exception {
    String name = "testNodeSingletonProxy";

    Ignite ignite = randomGrid();

    ignite.services().deployNodeSingleton(name, new CounterServiceImpl());

    CounterService svc = ignite.services().serviceProxy(name, CounterService.class, false);

    for (int i = 0; i < 10; i++)
        svc.increment();

    assertEquals(10, svc.get());
    assertEquals(10, svc.localIncrements());
    assertEquals(10, ignite.services(ignite.cluster().forLocal()).
        serviceProxy(name, CounterService.class, false).localIncrements());

    // Make sure that remote proxies were not called.
    for (ClusterNode n : ignite.cluster().forRemotes().nodes()) {
        CounterService rmtSvc =
                ignite.services(ignite.cluster().forNode(n)).serviceProxy(name, CounterService.class, false);

        assertEquals(0, rmtSvc.localIncrements());
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:29,代码来源:GridServiceProcessorProxySelfTest.java

示例11: startReceivedCaches

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * Starts statically configured caches received from remote nodes during exchange.
 *
 * @param nodeId Joining node ID.
 * @param exchTopVer Current exchange version.
 * @return Started caches descriptors.
 * @throws IgniteCheckedException If failed.
 */
public Collection<DynamicCacheDescriptor> startReceivedCaches(UUID nodeId, AffinityTopologyVersion exchTopVer)
    throws IgniteCheckedException {
    List<DynamicCacheDescriptor> started = cachesInfo.cachesReceivedFromJoin(nodeId);

    for (DynamicCacheDescriptor desc : started) {
        IgnitePredicate<ClusterNode> filter = desc.groupDescriptor().config().getNodeFilter();

        if (CU.affinityNode(ctx.discovery().localNode(), filter)) {
            prepareCacheStart(
                desc.cacheConfiguration(),
                desc,
                null,
                exchTopVer,
                false);
        }
    }

    return started;
}
 
开发者ID:apache,项目名称:ignite,代码行数:28,代码来源:GridCacheProcessor.java

示例12: serverNodeBinarySearch

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * @param order Node order.
 * @return Node index.
 */
private int serverNodeBinarySearch(long order) {
    int low = 0;
    int high = srvNodes.size() - 1;

    while (low <= high) {
        int mid = (low + high) >>> 1;

        ClusterNode midVal = srvNodes.get(mid);

        int cmp = Long.compare(midVal.order(), order);

        if (cmp < 0)
            low = mid + 1;
        else if (cmp > 0)
            high = mid - 1;
        else
            return mid;
    }

    return -(low + 1);
}
 
开发者ID:apache,项目名称:ignite,代码行数:26,代码来源:DiscoCache.java

示例13: checkLocalRemovedKey

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * @param keyToRmv Removed key.
 */
protected void checkLocalRemovedKey(String keyToRmv) {
    for (int i = 0; i < 500; ++i) {
        String key = "key" + i;

        boolean found = primaryIgnite(key).cache(DEFAULT_CACHE_NAME).localPeek(key) != null;

        if (keyToRmv.equals(key)) {
            Collection<ClusterNode> nodes = grid(0).affinity(DEFAULT_CACHE_NAME).mapKeyToPrimaryAndBackups(key);

            for (int j = 0; j < gridCount(); ++j) {
                if (nodes.contains(grid(j).localNode()) && grid(j) != primaryIgnite(key))
                    assertTrue("Not found on backup removed key ", grid(j).cache(DEFAULT_CACHE_NAME).localPeek(key) != null);
            }

            assertFalse("Found removed key " + key, found);
        }
        else
            assertTrue("Not found key " + key, found);
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:24,代码来源:GridCacheAbstractFullApiSelfTest.java

示例14: map

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/** {@inheritDoc} */
@Override public Map<? extends ComputeJob, ClusterNode> map(List<ClusterNode> subgrid, String arg) {
    assert ignite != null;

    UUID locNodeId = ignite.configuration().getNodeId();

    assert locNodeId != null;

    ClusterNode remoteNode = null;

    for (ClusterNode node : subgrid) {
        if (!node.id().equals(locNodeId))
            remoteNode = node;
    }

    return Collections.singletonMap(new ComputeJobAdapter(arg) {
        @Override public Serializable execute() {
            throw new IgniteException("Job exception.");
        }
    }, remoteNode);
}
 
开发者ID:apache,项目名称:ignite,代码行数:22,代码来源:GridFailoverTopologySelfTest.java

示例15: testIoTestMessages

import org.apache.ignite.cluster.ClusterNode; //导入依赖的package包/类
/**
 * @throws Exception If failed.
 */
public void testIoTestMessages() throws Exception {
    for (Ignite node : G.allGrids()) {
        IgniteKernal ignite = (IgniteKernal)node;

        List<ClusterNode> rmts = new ArrayList<>(ignite.cluster().forRemotes().nodes());

        assertEquals(4, rmts.size());

        for (ClusterNode rmt : rmts) {
            ignite.sendIoTest(rmt, new byte[1024], false);

            ignite.sendIoTest(rmt, new byte[1024], true);

            ignite.sendIoTest(rmts, new byte[1024], false);

            ignite.sendIoTest(rmts, new byte[1024], true);
        }
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:23,代码来源:IgniteIoTestMessagesTest.java


注:本文中的org.apache.ignite.cluster.ClusterNode类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。