<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.0.0/javadoc/org/apache/ignite/IgniteCluster.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (version 1.7.0_80) on Sun Apr 30 12:27:10 MSK 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IgniteCluster (Ignite 2.0.0)</title>
<meta name="date" content="2017-04-30">
<link rel="stylesheet" type="text/css" href="../../../javadoc.css" title="Style">

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="IgniteCluster (Ignite 2.0.0)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IgniteCluster.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/ignite/IgniteClientDisconnectedException.html" title="class in org.apache.ignite"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/ignite/IgniteCompute.html" title="interface in org.apache.ignite"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/ignite/IgniteCluster.html" target="_top">Frames</a></li>
<li><a href="IgniteCluster.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite</div>
<h2 title="Interface IgniteCluster" class="title">Interface IgniteCluster</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>, <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang">IgniteAsyncSupport</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">IgniteCluster</span>
extends <a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>, <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang">IgniteAsyncSupport</a></pre>
<div class="block">Represents whole cluster (all available nodes) and also provides a handle on <a href="../../../org/apache/ignite/IgniteCluster.html#nodeLocalMap()"><code>nodeLocalMap()</code></a> which
 provides map-like functionality linked to current grid node. Node-local map is useful for saving shared state
 between job executions on the grid. Additionally you can also ping, start, and restart remote nodes, map keys to
 caching nodes, and get other useful information about topology.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a>&lt;?&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#clientReconnectFuture()">clientReconnectFuture</a></strong>()</code>
<div class="block">If local client node disconnected from cluster returns future
 that will be completed when client reconnected.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#forLocal()">forLocal</a></strong>()</code>
<div class="block">Gets a cluster group consisting from the local node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#localNode()">localNode</a></strong>()</code>
<div class="block">Gets local grid node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#nodeLocalMap()">nodeLocalMap</a></strong>()</code>
<div class="block">Gets node-local storage instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#pingNode(java.util.UUID)">pingNode</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</code>
<div class="block">Pings a remote node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#resetMetrics()">resetMetrics</a></strong>()</code>
<div class="block">Resets local I/O, job, and task execution metrics.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#restartNodes()">restartNodes</a></strong>()</code>
<div class="block">Restarts nodes satisfying optional set of predicates.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#restartNodes(java.util.Collection)">restartNodes</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;ids)</code>
<div class="block">Restarts nodes defined by provided IDs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster">ClusterStartNodeResult</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#startNodes(java.util.Collection,%20java.util.Map,%20boolean,%20int,%20int)">startNodes</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;hosts,
          <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;dflts,
          boolean&nbsp;restart,
          int&nbsp;timeout,
          int&nbsp;maxConn)</code>
<div class="block">Starts one or more nodes on remote host(s).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster">ClusterStartNodeResult</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#startNodes(java.io.File,%20boolean,%20int,%20int)">startNodes</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;file,
          boolean&nbsp;restart,
          int&nbsp;timeout,
          int&nbsp;maxConn)</code>
<div class="block">Starts one or more nodes on remote host(s).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster">ClusterStartNodeResult</a>&gt;&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#startNodesAsync(java.util.Collection,%20java.util.Map,%20boolean,%20int,%20int)">startNodesAsync</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;hosts,
               <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;dflts,
               boolean&nbsp;restart,
               int&nbsp;timeout,
               int&nbsp;maxConn)</code>
<div class="block">Starts one or more nodes on remote host(s) asynchronously.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster">ClusterStartNodeResult</a>&gt;&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#startNodesAsync(java.io.File,%20boolean,%20int,%20int)">startNodesAsync</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;file,
               boolean&nbsp;restart,
               int&nbsp;timeout,
               int&nbsp;maxConn)</code>
<div class="block">Starts one or more nodes on remote host(s) asynchronously.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#stopNodes()">stopNodes</a></strong>()</code>
<div class="block">Stops nodes satisfying optional set of predicates.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#stopNodes(java.util.Collection)">stopNodes</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;ids)</code>
<div class="block">Stops nodes defined by provided IDs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#topology(long)">topology</a></strong>(long&nbsp;topVer)</code>
<div class="block">Gets a topology by version.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#topologyVersion()">topologyVersion</a></strong>()</code>
<div class="block">Gets current topology version.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteCluster.html" title="interface in org.apache.ignite">IgniteCluster</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/IgniteCluster.html#withAsync()">withAsync</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.cluster.ClusterGroup">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.cluster.<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a></h3>
<code><a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forAttribute(java.lang.String,%20java.lang.Object)">forAttribute</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forCacheNodes(java.lang.String)">forCacheNodes</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forClientNodes(java.lang.String)">forClientNodes</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forClients()">forClients</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forDaemons()">forDaemons</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forDataNodes(java.lang.String)">forDataNodes</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forHost(org.apache.ignite.cluster.ClusterNode)">forHost</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forHost(java.lang.String,%20java.lang.String...)">forHost</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forNode(org.apache.ignite.cluster.ClusterNode,%20org.apache.ignite.cluster.ClusterNode...)">forNode</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forNodeId(java.util.UUID,%20java.util.UUID...)">forNodeId</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forNodeIds(java.util.Collection)">forNodeIds</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forNodes(java.util.Collection)">forNodes</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forOldest()">forOldest</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forOthers(org.apache.ignite.cluster.ClusterGroup)">forOthers</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forOthers(org.apache.ignite.cluster.ClusterNode,%20org.apache.ignite.cluster.ClusterNode...)">forOthers</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forPredicate(org.apache.ignite.lang.IgnitePredicate)">forPredicate</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forRandom()">forRandom</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forRemotes()">forRemotes</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forServers()">forServers</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#forYoungest()">forYoungest</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#hostNames()">hostNames</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#ignite()">ignite</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#metrics()">metrics</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#node()">node</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#node(java.util.UUID)">node</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#nodes()">nodes</a>, <a href="../../../org/apache/ignite/cluster/ClusterGroup.html#predicate()">predicate</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.lang.IgniteAsyncSupport">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.lang.<a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang">IgniteAsyncSupport</a></h3>
<code><a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html#future()">future</a>, <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html#isAsync()">isAsync</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="localNode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localNode</h4>
<pre><a href="../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;localNode()</pre>
<div class="block">Gets local grid node.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Local grid node.</dd></dl>
</li>
</ul>
<a name="forLocal()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forLocal</h4>
<pre><a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;forLocal()</pre>
<div class="block">Gets a cluster group consisting from the local node.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cluster group consisting from the local node.</dd></dl>
</li>
</ul>
<a name="nodeLocalMap()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodeLocalMap</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;K,V&gt;&nbsp;nodeLocalMap()</pre>
<div class="block">Gets node-local storage instance.
 <p>
 Node-local values are similar to thread locals in a way that these values are not
 distributed and kept only on local node (similar like thread local values are attached to the
 current thread only). Node-local values are used primarily by closures executed from the remote
 nodes to keep intermediate state on the local node between executions.
 <p>
 There's only one instance of node local storage per local node. Node local storage is
 based on <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent"><code>ConcurrentMap</code></a> and is safe for multi-threaded access.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Node local storage instance for the local node.</dd></dl>
</li>
</ul>
<a name="pingNode(java.util.UUID)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pingNode</h4>
<pre>boolean&nbsp;pingNode(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</pre>
<div class="block">Pings a remote node.
 <p>
 Discovery SPIs usually have some latency in discovering failed nodes. Hence,
 communication to remote nodes may fail at times if an attempt was made to
 establish communication with a failed node. This method can be used to check
 if communication has failed due to node failure or due to some other reason.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nodeId</code> - ID of a node to ping.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if node for a given ID is alive, <code>false</code> otherwise.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery"><code>DiscoverySpi</code></a></dd></dl>
</li>
</ul>
<a name="topologyVersion()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>topologyVersion</h4>
<pre>long&nbsp;topologyVersion()</pre>
<div class="block">Gets current topology version. In case of TCP discovery
 (see <a href="../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp"><code>TcpDiscoverySpi</code></a>) topology versions
 are sequential - they start from <code>'1'</code> and get incremented every time whenever a
 node joins or leaves. For other discovery SPIs topology versions may not be (and likely are
 not) sequential.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Current topology version.</dd></dl>
</li>
</ul>
<a name="topology(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>topology</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&gt;&nbsp;topology(long&nbsp;topVer)
                                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang">UnsupportedOperationException</a></pre>
<div class="block">Gets a topology by version. Returns <code>null</code> if topology history storage doesn't contain
 specified topology version (history currently keeps last <code>1000</code> snapshots).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>topVer</code> - Topology version.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Collection of grid nodes which represented by specified topology version,
 if it is present in history storage, <code>null</code> otherwise.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang">UnsupportedOperationException</a></code> - If underlying SPI implementation does not support
      topology history. Currently only <a href="../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp"><code>TcpDiscoverySpi</code></a>
      supports topology history.</dd></dl>
</li>
</ul>
<a name="startNodes(java.io.File, boolean, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startNodes</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteAsyncSupported.html" title="annotation in org.apache.ignite.lang">@IgniteAsyncSupported</a>
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster">ClusterStartNodeResult</a>&gt;&nbsp;startNodes(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;file,
                                                                 boolean&nbsp;restart,
                                                                 int&nbsp;timeout,
                                                                 int&nbsp;maxConn)
                                              throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Starts one or more nodes on remote host(s).
 <p>
 This method takes INI file which defines all startup parameters. It can contain one or
 more sections, each for a host or for range of hosts (note that they must have different
 names) and a special '<code>defaults</code>' section with default values. They are applied to
 undefined parameters in host's sections.
 <p>
 Returned result is collection of tuples. Each tuple corresponds to one node start attempt and
 contains hostname, success flag and error message if attempt was not successful. Note that
 successful attempt doesn't mean that node was actually started and joined topology. For large
 topologies (> 100s nodes) it can take over 10 minutes for all nodes to start. See individual
 node logs for details.
 <p>
 Supports asynchronous execution (see <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang"><code>IgniteAsyncSupport</code></a>).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>file</code> - Configuration file.</dd><dd><code>restart</code> - Whether to stop existing nodes. If <code>true</code>, all existing
      nodes on the host will be stopped before starting new ones. If
      <code>false</code>, nodes will be started only if there are less
      nodes on the host than expected.</dd><dd><code>timeout</code> - Connection timeout.</dd><dd><code>maxConn</code> - Number of parallel SSH connections to one host.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Collection of start node results, each containing host name, result (success or failure)
      and error message (if any).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - In case of error.</dd></dl>
</li>
</ul>
<a name="startNodesAsync(java.io.File, boolean, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startNodesAsync</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster">ClusterStartNodeResult</a>&gt;&gt;&nbsp;startNodesAsync(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;file,
                                                               boolean&nbsp;restart,
                                                               int&nbsp;timeout,
                                                               int&nbsp;maxConn)
                                                                 throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Starts one or more nodes on remote host(s) asynchronously.
 <p>
 This method takes INI file which defines all startup parameters. It can contain one or
 more sections, each for a host or for range of hosts (note that they must have different
 names) and a special '<code>defaults</code>' section with default values. They are applied to
 undefined parameters in host's sections.
 <p>
 Completed future contains collection of tuples. Each tuple corresponds to one node start attempt and
 contains hostname, success flag and error message if attempt was not successful. Note that
 successful attempt doesn't mean that node was actually started and joined topology. For large
 topologies (> 100s nodes) it can take over 10 minutes for all nodes to start. See individual
 node logs for details.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>file</code> - Configuration file.</dd><dd><code>restart</code> - Whether to stop existing nodes. If <code>true</code>, all existing
      nodes on the host will be stopped before starting new ones. If
      <code>false</code>, nodes will be started only if there are less
      nodes on the host than expected.</dd><dd><code>timeout</code> - Connection timeout.</dd><dd><code>maxConn</code> - Number of parallel SSH connections to one host.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a Future representing pending completion of the starting nodes.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - In case of error.</dd></dl>
</li>
</ul>
<a name="startNodes(java.util.Collection, java.util.Map, boolean, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startNodes</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteAsyncSupported.html" title="annotation in org.apache.ignite.lang">@IgniteAsyncSupported</a>
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster">ClusterStartNodeResult</a>&gt;&nbsp;startNodes(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;hosts,
                                                                 @Nullable
                                                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;dflts,
                                                                 boolean&nbsp;restart,
                                                                 int&nbsp;timeout,
                                                                 int&nbsp;maxConn)
                                              throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Starts one or more nodes on remote host(s).
 <p>
 Each map in <code>hosts</code> collection
 defines startup parameters for one host or for a range of hosts. The following
 parameters are supported:
     <table class="doctable">
         <tr>
             <th>Name</th>
             <th>Type</th>
             <th>Description</th>
         </tr>
         <tr>
             <td><b>host</b></td>
             <td>String</td>
             <td>
                 Hostname (required). Can define several hosts if their IPs are sequential.
                 E.g., <code>10.0.0.1~5</code> defines range of five IP addresses. Other
                 parameters are applied to all hosts equally.
             </td>
         </tr>
         <tr>
             <td><b>port</b></td>
             <td>Integer</td>
             <td>Port number (default is <code>22</code>).</td>
         </tr>
         <tr>
             <td><b>uname</b></td>
             <td>String</td>
             <td>Username (if not defined, current local username will be used).</td>
         </tr>
         <tr>
             <td><b>passwd</b></td>
             <td>String</td>
             <td>Password (if not defined, private key file must be defined).</td>
         </tr>
         <tr>
             <td><b>key</b></td>
             <td>File</td>
             <td>Private key file (if not defined, password must be defined).</td>
         </tr>
         <tr>
             <td><b>nodes</b></td>
             <td>Integer</td>
             <td>
                 Expected number of nodes on the host. If some nodes are started
                 already, then only remaining nodes will be started. If current count of
                 nodes is equal to this number, and <code>restart</code> flag is <code>false</code>,
                 then nothing will happen.
             </td>
         </tr>
         <tr>
             <td><b>igniteHome</b></td>
             <td>String</td>
             <td>
                 Path to Ignite installation folder. If not defined, IGNITE_HOME
                 environment variable must be set on remote hosts.
             </td>
         </tr>
         <tr>
             <td><b>cfg</b></td>
             <td>String</td>
             <td>Path to configuration file (relative to <code>igniteHome</code>).</td>
         </tr>
         <tr>
             <td><b>script</b></td>
             <td>String</td>
             <td>
                 Custom startup script file name and path (relative to <code>igniteHome</code>).
                 You can also specify a space-separated list of parameters in the same
                 string (for example: <code>"bin/my-custom-script.sh -v"</code>).
             </td>
         </tr>
     </table>
 <p>
 <code>dflts</code> map defines default values. They are applied to undefined parameters in
 <code>hosts</code> collection.
 <p>
 Returned result is collection of tuples. Each tuple corresponds to one node start attempt and
 contains hostname, success flag and error message if attempt was not successful. Note that
 successful attempt doesn't mean that node was actually started and joined topology. For large
 topologies (> 100s nodes) it can take over 10 minutes for all nodes to start. See individual
 node logs for details.
 <p>
 Supports asynchronous execution (see <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang"><code>IgniteAsyncSupport</code></a>).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>hosts</code> - Startup parameters.</dd><dd><code>dflts</code> - Default values.</dd><dd><code>restart</code> - Whether to stop existing nodes. If <code>true</code>, all existing
      nodes on the host will be stopped before starting new ones. If
      <code>false</code>, nodes will be started only if there are less
      nodes on the host than expected.</dd><dd><code>timeout</code> - Connection timeout in milliseconds.</dd><dd><code>maxConn</code> - Number of parallel SSH connections to one host.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Collection of start node results, each containing host name, result (success or failure)
      and error message (if any).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - In case of error.</dd></dl>
</li>
</ul>
<a name="startNodesAsync(java.util.Collection, java.util.Map, boolean, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startNodesAsync</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster">ClusterStartNodeResult</a>&gt;&gt;&nbsp;startNodesAsync(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;hosts,
                                                               @Nullable
                                                               <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;dflts,
                                                               boolean&nbsp;restart,
                                                               int&nbsp;timeout,
                                                               int&nbsp;maxConn)
                                                                 throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Starts one or more nodes on remote host(s) asynchronously.
 <p>
 Each map in <code>hosts</code> collection
 defines startup parameters for one host or for a range of hosts. The following
 parameters are supported:
     <table class="doctable">
         <tr>
             <th>Name</th>
             <th>Type</th>
             <th>Description</th>
         </tr>
         <tr>
             <td><b>host</b></td>
             <td>String</td>
             <td>
                 Hostname (required). Can define several hosts if their IPs are sequential.
                 E.g., <code>10.0.0.1~5</code> defines range of five IP addresses. Other
                 parameters are applied to all hosts equally.
             </td>
         </tr>
         <tr>
             <td><b>port</b></td>
             <td>Integer</td>
             <td>Port number (default is <code>22</code>).</td>
         </tr>
         <tr>
             <td><b>uname</b></td>
             <td>String</td>
             <td>Username (if not defined, current local username will be used).</td>
         </tr>
         <tr>
             <td><b>passwd</b></td>
             <td>String</td>
             <td>Password (if not defined, private key file must be defined).</td>
         </tr>
         <tr>
             <td><b>key</b></td>
             <td>File</td>
             <td>Private key file (if not defined, password must be defined).</td>
         </tr>
         <tr>
             <td><b>nodes</b></td>
             <td>Integer</td>
             <td>
                 Expected number of nodes on the host. If some nodes are started
                 already, then only remaining nodes will be started. If current count of
                 nodes is equal to this number, and <code>restart</code> flag is <code>false</code>,
                 then nothing will happen.
             </td>
         </tr>
         <tr>
             <td><b>igniteHome</b></td>
             <td>String</td>
             <td>
                 Path to Ignite installation folder. If not defined, IGNITE_HOME
                 environment variable must be set on remote hosts.
             </td>
         </tr>
         <tr>
             <td><b>cfg</b></td>
             <td>String</td>
             <td>Path to configuration file (relative to <code>igniteHome</code>).</td>
         </tr>
         <tr>
             <td><b>script</b></td>
             <td>String</td>
             <td>
                 Custom startup script file name and path (relative to <code>igniteHome</code>).
                 You can also specify a space-separated list of parameters in the same
                 string (for example: <code>"bin/my-custom-script.sh -v"</code>).
             </td>
         </tr>
     </table>
 <p>
 <code>dflts</code> map defines default values. They are applied to undefined parameters in
 <code>hosts</code> collection.
 <p>
 Completed future contains collection of tuples. Each tuple corresponds to one node start attempt and
 contains hostname, success flag and error message if attempt was not successful. Note that
 successful attempt doesn't mean that node was actually started and joined topology. For large
 topologies (> 100s nodes) it can take over 10 minutes for all nodes to start. See individual
 node logs for details.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>hosts</code> - Startup parameters.</dd><dd><code>dflts</code> - Default values.</dd><dd><code>restart</code> - Whether to stop existing nodes. If <code>true</code>, all existing
      nodes on the host will be stopped before starting new ones. If
      <code>false</code>, nodes will be started only if there are less
      nodes on the host than expected.</dd><dd><code>timeout</code> - Connection timeout in milliseconds.</dd><dd><code>maxConn</code> - Number of parallel SSH connections to one host.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a Future representing pending completion of the starting nodes.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - In case of error.</dd></dl>
</li>
</ul>
<a name="stopNodes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stopNodes</h4>
<pre>void&nbsp;stopNodes()
               throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Stops nodes satisfying optional set of predicates.
 <p>
 <b>NOTE:</b> <code>System.exit(Ignition.KILL_EXIT_CODE)</code> will be executed on each
 stopping node. If you have other applications running in the same JVM along with Ignition,
 those applications will be stopped as well.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - In case of error.</dd></dl>
</li>
</ul>
<a name="stopNodes(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stopNodes</h4>
<pre>void&nbsp;stopNodes(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;ids)
               throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Stops nodes defined by provided IDs.
 <p>
 <b>NOTE:</b> <code>System.exit(Ignition.KILL_EXIT_CODE)</code> will be executed on each
 stopping node. If you have other applications running in the same JVM along with Ignition,
 those applications will be stopped as well.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ids</code> - IDs defining nodes to stop.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - In case of error.</dd></dl>
</li>
</ul>
<a name="restartNodes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>restartNodes</h4>
<pre>void&nbsp;restartNodes()
                  throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Restarts nodes satisfying optional set of predicates.
 <p>
 <b>NOTE:</b> this command only works for grid nodes started with Ignition
 <code>ignite.sh</code> or <code>ignite.bat</code> scripts.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - In case of error.</dd></dl>
</li>
</ul>
<a name="restartNodes(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>restartNodes</h4>
<pre>void&nbsp;restartNodes(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;ids)
                  throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Restarts nodes defined by provided IDs.
 <p>
 <b>NOTE:</b> this command only works for grid nodes started with Ignition
 <code>ignite.sh</code> or <code>ignite.bat</code> scripts.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ids</code> - IDs defining nodes to restart.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - In case of error.</dd></dl>
</li>
</ul>
<a name="resetMetrics()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resetMetrics</h4>
<pre>void&nbsp;resetMetrics()</pre>
<div class="block">Resets local I/O, job, and task execution metrics.</div>
</li>
</ul>
<a name="clientReconnectFuture()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clientReconnectFuture</h4>
<pre>@Nullable
<a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a>&lt;?&gt;&nbsp;clientReconnectFuture()</pre>
<div class="block">If local client node disconnected from cluster returns future
 that will be completed when client reconnected.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Future that will be completed when client reconnected.</dd></dl>
</li>
</ul>
<a name="withAsync()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>withAsync</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
<a href="../../../org/apache/ignite/IgniteCluster.html" title="interface in org.apache.ignite">IgniteCluster</a>&nbsp;withAsync()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
<div class="block">Gets instance of this component with asynchronous mode enabled.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html#withAsync()">withAsync</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang">IgniteAsyncSupport</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Instance of this component with asynchronous mode enabled.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IgniteCluster.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/ignite/IgniteClientDisconnectedException.html" title="class in org.apache.ignite"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/ignite/IgniteCompute.html" title="interface in org.apache.ignite"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/ignite/IgniteCluster.html" target="_top">Frames</a></li>
<li><a href="IgniteCluster.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">                                     <tr>                                         <td>                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <a target=_blank href="https://ignite.apache.org"><nobr>2017 Copyright &#169; Apache Software Foundation</nobr></a>                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                         <td width="100%" align="right" valign="center">                                             <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a>                                         </td>                                     </tr>                                     <tr>                                         <td colspan="2" valign="top" align="left">                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>2.0.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             April 30 2017                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
