<!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/1.8.0/javadoc/org/apache/ignite/Ignite.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (version 1.7.0_80) on Mon Dec 05 14:49:05 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ignite (Ignite 1.8.0)</title>
<meta name="date" content="2016-12-05">
<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="Ignite (Ignite 1.8.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/Ignite.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>Prev Class</li>
<li><a href="../../../org/apache/ignite/IgniteAtomicLong.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/Ignite.html" target="_top">Frames</a></li>
<li><a href="Ignite.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 Ignite" class="title">Interface Ignite</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/ignite/IgniteSpringBean.html" title="class in org.apache.ignite">IgniteSpringBean</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">Ignite</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
<div class="block">Main entry-point for all Ignite APIs.
 You can obtain an instance of <code>Ignite</code> through <a href="../../../org/apache/ignite/Ignition.html#ignite()"><code>Ignition.ignite()</code></a>,
 or for named grids you can use <a href="../../../org/apache/ignite/Ignition.html#ignite(java.lang.String)"><code>Ignition.ignite(String)</code></a>. Note that you
 can have multiple instances of <code>Ignite</code> running in the same VM by giving
 each instance a different name.
 <p>
 Ignite provides the following functionality:
 <ul>
 <li><a href="../../../org/apache/ignite/IgniteCluster.html" title="interface in org.apache.ignite"><code>IgniteCluster</code></a> - clustering functionality.</li>
 <li><a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite"><code>IgniteCache</code></a> - functionality for in-memory distributed cache, including SQL, TEXT, and Predicate-based queries.</li>
 <li><a href="../../../org/apache/ignite/IgniteTransactions.html" title="interface in org.apache.ignite"><code>IgniteTransactions</code></a> - distributed ACID-compliant transactions.</li>
 <li><a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="interface in org.apache.ignite"><code>IgniteDataStreamer</code></a> - functionality for streaming large amounts of data into cache.</li>
 <li><a href="../../../org/apache/ignite/IgniteCompute.html" title="interface in org.apache.ignite"><code>IgniteCompute</code></a> - functionality for executing tasks and closures on all grid nodes (inherited form <a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster"><code>ClusterGroup</code></a>).</li>
 <li><a href="../../../org/apache/ignite/IgniteServices.html" title="interface in org.apache.ignite"><code>IgniteServices</code></a> - distributed service grid functionality (e.g. singletons on the cluster).</li>
 <li><a href="../../../org/apache/ignite/IgniteMessaging.html" title="interface in org.apache.ignite"><code>IgniteMessaging</code></a> - functionality for topic-based message exchange on all grid nodes (inherited form <a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster"><code>ClusterGroup</code></a>).</li>
 <li><a href="../../../org/apache/ignite/IgniteEvents.html" title="interface in org.apache.ignite"><code>IgniteEvents</code></a> - functionality for querying and listening to events on all grid nodes  (inherited form <a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster"><code>ClusterGroup</code></a>).</li>
 <li><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><code>ExecutorService</code></a> - distributed thread pools.</li>
 <li><a href="../../../org/apache/ignite/IgniteAtomicLong.html" title="interface in org.apache.ignite"><code>IgniteAtomicLong</code></a> - distributed atomic long.</li>
 <li><a href="../../../org/apache/ignite/IgniteAtomicReference.html" title="interface in org.apache.ignite"><code>IgniteAtomicReference</code></a> - distributed atomic reference.</li>
 <li><a href="../../../org/apache/ignite/IgniteAtomicSequence.html" title="interface in org.apache.ignite"><code>IgniteAtomicSequence</code></a> - distributed atomic sequence.</li>
 <li><a href="../../../org/apache/ignite/IgniteAtomicStamped.html" title="interface in org.apache.ignite"><code>IgniteAtomicStamped</code></a> - distributed atomic stamped reference.</li>
 <li><a href="../../../org/apache/ignite/IgniteCountDownLatch.html" title="interface in org.apache.ignite"><code>IgniteCountDownLatch</code></a> - distributed count down latch.</li>
 <li><a href="../../../org/apache/ignite/IgniteQueue.html" title="interface in org.apache.ignite"><code>IgniteQueue</code></a> - distributed blocking queue.</li>
 <li><a href="../../../org/apache/ignite/IgniteSet.html" title="interface in org.apache.ignite"><code>IgniteSet</code></a> - distributed concurrent set.</li>
 <li><a href="../../../org/apache/ignite/IgniteScheduler.html" title="interface in org.apache.ignite"><code>IgniteScheduler</code></a> - functionality for scheduling jobs using UNIX Cron syntax.</li>
 <li><a href="../../../org/apache/ignite/IgniteFileSystem.html" title="interface in org.apache.ignite"><code>IgniteFileSystem</code></a> - functionality for distributed Hadoop-compliant in-memory file system and map-reduce.</li>
 </ul></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>&lt;K,V&gt;&nbsp;void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#addCacheConfiguration(org.apache.ignite.configuration.CacheConfiguration)">addCacheConfiguration</a></strong>(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg)</code>
<div class="block">Adds cache configuration template.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../org/apache/ignite/cache/affinity/Affinity.html" title="interface in org.apache.ignite.cache.affinity">Affinity</a>&lt;K&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#affinity(java.lang.String)">affinity</a></strong>(<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>&nbsp;cacheName)</code>
<div class="block">Gets affinity service to provide information about data partitioning
 and distribution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteAtomicLong.html" title="interface in org.apache.ignite">IgniteAtomicLong</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#atomicLong(java.lang.String,%20long,%20boolean)">atomicLong</a></strong>(<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>&nbsp;name,
          long&nbsp;initVal,
          boolean&nbsp;create)</code>
<div class="block">Will get a atomic long from cache and create one if it has not been created yet and <code>create</code> flag
 is <code>true</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteAtomicReference.html" title="interface in org.apache.ignite">IgniteAtomicReference</a>&lt;T&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#atomicReference(java.lang.String,%20T,%20boolean)">atomicReference</a></strong>(<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>&nbsp;name,
               T&nbsp;initVal,
               boolean&nbsp;create)</code>
<div class="block">Will get a atomic reference from cache and create one if it has not been created yet and <code>create</code> flag
 is <code>true</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteAtomicSequence.html" title="interface in org.apache.ignite">IgniteAtomicSequence</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#atomicSequence(java.lang.String,%20long,%20boolean)">atomicSequence</a></strong>(<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>&nbsp;name,
              long&nbsp;initVal,
              boolean&nbsp;create)</code>
<div class="block">Will get an atomic sequence from cache and create one if it has not been created yet and <code>create</code> flag
 is <code>true</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;T,S&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteAtomicStamped.html" title="interface in org.apache.ignite">IgniteAtomicStamped</a>&lt;T,S&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#atomicStamped(java.lang.String,%20T,%20S,%20boolean)">atomicStamped</a></strong>(<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>&nbsp;name,
             T&nbsp;initVal,
             S&nbsp;initStamp,
             boolean&nbsp;create)</code>
<div class="block">Will get a atomic stamped from cache and create one if it has not been created yet and <code>create</code> flag
 is <code>true</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteBinary.html" title="interface in org.apache.ignite">IgniteBinary</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#binary()">binary</a></strong>()</code>
<div class="block">Gets an instance of <a href="../../../org/apache/ignite/IgniteBinary.html" title="interface in org.apache.ignite"><code>IgniteBinary</code></a> interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#cache(java.lang.String)">cache</a></strong>(<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>&nbsp;name)</code>
<div class="block">Gets an instance of <a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite"><code>IgniteCache</code></a> API.</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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#cacheNames()">cacheNames</a></strong>()</code>
<div class="block">Gets the collection of names of currently available caches.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#close()">close</a></strong>()</code>
<div class="block">Closes <code>this</code> instance of grid.</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/Ignite.html#cluster()">cluster</a></strong>()</code>
<div class="block">Gets an instance of <a href="../../../org/apache/ignite/IgniteCluster.html" title="interface in org.apache.ignite"><code>IgniteCluster</code></a> interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteCompute.html" title="interface in org.apache.ignite">IgniteCompute</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#compute()">compute</a></strong>()</code>
<div class="block">Gets <code>compute</code> facade over all cluster nodes started in server mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteCompute.html" title="interface in org.apache.ignite">IgniteCompute</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#compute(org.apache.ignite.cluster.ClusterGroup)">compute</a></strong>(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</code>
<div class="block">Gets <code>compute</code> facade over the specified cluster group.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration">IgniteConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#configuration()">configuration</a></strong>()</code>
<div class="block">Gets the configuration of this Ignite instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteCountDownLatch.html" title="interface in org.apache.ignite">IgniteCountDownLatch</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#countDownLatch(java.lang.String,%20int,%20boolean,%20boolean)">countDownLatch</a></strong>(<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>&nbsp;name,
              int&nbsp;cnt,
              boolean&nbsp;autoDel,
              boolean&nbsp;create)</code>
<div class="block">Gets or creates count down latch.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#createCache(org.apache.ignite.configuration.CacheConfiguration)">createCache</a></strong>(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg)</code>
<div class="block">Dynamically starts new cache with the given cache configuration.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#createCache(org.apache.ignite.configuration.CacheConfiguration,%20org.apache.ignite.configuration.NearCacheConfiguration)">createCache</a></strong>(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg,
           <a href="../../../org/apache/ignite/configuration/NearCacheConfiguration.html" title="class in org.apache.ignite.configuration">NearCacheConfiguration</a>&lt;K,V&gt;&nbsp;nearCfg)</code>
<div class="block">Dynamically starts new cache with the given cache configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#createCache(java.lang.String)">createCache</a></strong>(<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>&nbsp;cacheName)</code>
<div class="block">Dynamically starts new cache using template configuration.</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/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#createCaches(java.util.Collection)">createCaches</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="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&gt;&nbsp;cacheCfgs)</code>
<div class="block">Dynamically starts new caches with the given cache configurations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#createNearCache(java.lang.String,%20org.apache.ignite.configuration.NearCacheConfiguration)">createNearCache</a></strong>(<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>&nbsp;cacheName,
               <a href="../../../org/apache/ignite/configuration/NearCacheConfiguration.html" title="class in org.apache.ignite.configuration">NearCacheConfiguration</a>&lt;K,V&gt;&nbsp;nearCfg)</code>
<div class="block">Starts a near cache on local node if cache was previously started with one of the
 <a href="../../../org/apache/ignite/Ignite.html#createCache(org.apache.ignite.configuration.CacheConfiguration)"><code>createCache(CacheConfiguration)</code></a> or <a href="../../../org/apache/ignite/Ignite.html#createCache(org.apache.ignite.configuration.CacheConfiguration,%20org.apache.ignite.configuration.NearCacheConfiguration)"><code>createCache(CacheConfiguration, NearCacheConfiguration)</code></a>
 methods.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="interface in org.apache.ignite">IgniteDataStreamer</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#dataStreamer(java.lang.String)">dataStreamer</a></strong>(<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>&nbsp;cacheName)</code>
<div class="block">Gets a new instance of data streamer associated with given cache name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#destroyCache(java.lang.String)">destroyCache</a></strong>(<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>&nbsp;cacheName)</code>
<div class="block">Stops dynamically started cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#destroyCaches(java.util.Collection)">destroyCaches</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/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;cacheNames)</code>
<div class="block">Stops dynamically started caches.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteEvents.html" title="interface in org.apache.ignite">IgniteEvents</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#events()">events</a></strong>()</code>
<div class="block">Gets <code>events</code> facade over all cluster nodes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteEvents.html" title="interface in org.apache.ignite">IgniteEvents</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#events(org.apache.ignite.cluster.ClusterGroup)">events</a></strong>(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</code>
<div class="block">Gets <code>events</code> facade over nodes within the cluster group.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#executorService()">executorService</a></strong>()</code>
<div class="block">Creates a new <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><code>ExecutorService</code></a> which will execute all submitted
 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent"><code>Callable</code></a> and <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><code>Runnable</code></a> jobs on all cluster nodes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#executorService(org.apache.ignite.cluster.ClusterGroup)">executorService</a></strong>(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</code>
<div class="block">Creates a new <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><code>ExecutorService</code></a> which will execute all submitted
 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent"><code>Callable</code></a> and <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><code>Runnable</code></a> jobs on nodes in the specified cluster group.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteFileSystem.html" title="interface in org.apache.ignite">IgniteFileSystem</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#fileSystem(java.lang.String)">fileSystem</a></strong>(<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>&nbsp;name)</code>
<div class="block">Gets an instance of IGFS (Ignite In-Memory File System).</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/IgniteFileSystem.html" title="interface in org.apache.ignite">IgniteFileSystem</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#fileSystems()">fileSystems</a></strong>()</code>
<div class="block">Gets all instances of IGFS (Ignite In-Memory File System).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#getOrCreateCache(org.apache.ignite.configuration.CacheConfiguration)">getOrCreateCache</a></strong>(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg)</code>
<div class="block">Gets existing cache with the given name or creates new one with the given configuration.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#getOrCreateCache(org.apache.ignite.configuration.CacheConfiguration,%20org.apache.ignite.configuration.NearCacheConfiguration)">getOrCreateCache</a></strong>(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg,
                <a href="../../../org/apache/ignite/configuration/NearCacheConfiguration.html" title="class in org.apache.ignite.configuration">NearCacheConfiguration</a>&lt;K,V&gt;&nbsp;nearCfg)</code>
<div class="block">Gets existing cache with the given cache configuration or creates one if it does not exist.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#getOrCreateCache(java.lang.String)">getOrCreateCache</a></strong>(<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>&nbsp;cacheName)</code>
<div class="block">Gets existing cache with the given name or creates new one using template configuration.</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/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#getOrCreateCaches(java.util.Collection)">getOrCreateCaches</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="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&gt;&nbsp;cacheCfgs)</code>
<div class="block">Gets existing caches with the given name or created one with the given configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#getOrCreateNearCache(java.lang.String,%20org.apache.ignite.configuration.NearCacheConfiguration)">getOrCreateNearCache</a></strong>(<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>&nbsp;cacheName,
                    <a href="../../../org/apache/ignite/configuration/NearCacheConfiguration.html" title="class in org.apache.ignite.configuration">NearCacheConfiguration</a>&lt;K,V&gt;&nbsp;nearCfg)</code>
<div class="block">Gets existing near cache with the given name or creates a new one.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#log()">log</a></strong>()</code>
<div class="block">Gets grid's logger.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteMessaging.html" title="interface in org.apache.ignite">IgniteMessaging</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#message()">message</a></strong>()</code>
<div class="block">Gets <code>messaging</code> facade over all cluster nodes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteMessaging.html" title="interface in org.apache.ignite">IgniteMessaging</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#message(org.apache.ignite.cluster.ClusterGroup)">message</a></strong>(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</code>
<div class="block">Gets <code>messaging</code> facade over nodes within the cluster group.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#name()">name</a></strong>()</code>
<div class="block">Gets the name of the grid this grid instance (and correspondingly its local node) belongs to.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../../../org/apache/ignite/plugin/IgnitePlugin.html" title="interface in org.apache.ignite.plugin">IgnitePlugin</a>&gt;&nbsp;<br>T</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#plugin(java.lang.String)">plugin</a></strong>(<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>&nbsp;name)</code>
<div class="block">Gets an instance of deployed Ignite plugin.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteQueue.html" title="interface in org.apache.ignite">IgniteQueue</a>&lt;T&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#queue(java.lang.String,%20int,%20org.apache.ignite.configuration.CollectionConfiguration)">queue</a></strong>(<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>&nbsp;name,
     int&nbsp;cap,
     <a href="../../../org/apache/ignite/configuration/CollectionConfiguration.html" title="class in org.apache.ignite.configuration">CollectionConfiguration</a>&nbsp;cfg)</code>
<div class="block">Will get a named queue from cache and create one if it has not been created yet and <code>cfg</code> is not
 <code>null</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteLock.html" title="interface in org.apache.ignite">IgniteLock</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#reentrantLock(java.lang.String,%20boolean,%20boolean,%20boolean)">reentrantLock</a></strong>(<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>&nbsp;name,
             boolean&nbsp;failoverSafe,
             boolean&nbsp;fair,
             boolean&nbsp;create)</code>
<div class="block">Gets or creates reentrant lock.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteScheduler.html" title="interface in org.apache.ignite">IgniteScheduler</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#scheduler()">scheduler</a></strong>()</code>
<div class="block">Gets an instance of cron-based scheduler.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteSemaphore.html" title="interface in org.apache.ignite">IgniteSemaphore</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#semaphore(java.lang.String,%20int,%20boolean,%20boolean)">semaphore</a></strong>(<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>&nbsp;name,
         int&nbsp;cnt,
         boolean&nbsp;failoverSafe,
         boolean&nbsp;create)</code>
<div class="block">Gets or creates semaphore.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteServices.html" title="interface in org.apache.ignite">IgniteServices</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#services()">services</a></strong>()</code>
<div class="block">Gets <code>services</code> facade over all cluster nodes started in server mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteServices.html" title="interface in org.apache.ignite">IgniteServices</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#services(org.apache.ignite.cluster.ClusterGroup)">services</a></strong>(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</code>
<div class="block">Gets <code>services</code> facade over nodes within the cluster group.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteSet.html" title="interface in org.apache.ignite">IgniteSet</a>&lt;T&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#set(java.lang.String,%20org.apache.ignite.configuration.CollectionConfiguration)">set</a></strong>(<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>&nbsp;name,
   <a href="../../../org/apache/ignite/configuration/CollectionConfiguration.html" title="class in org.apache.ignite.configuration">CollectionConfiguration</a>&nbsp;cfg)</code>
<div class="block">Will get a named set from cache and create one if it has not been created yet and <code>cfg</code> is not
 <code>null</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/IgniteTransactions.html" title="interface in org.apache.ignite">IgniteTransactions</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#transactions()">transactions</a></strong>()</code>
<div class="block">Gets grid transactions facade.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/ignite/Ignite.html#version()">version</a></strong>()</code>
<div class="block">Gets Ignite version.</div>
</td>
</tr>
</table>
</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="name()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>name</h4>
<pre><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>&nbsp;name()</pre>
<div class="block">Gets the name of the grid this grid instance (and correspondingly its local node) belongs to.
 Note that single Java VM can have multiple grid instances all belonging to different grids. Grid
 name allows to indicate to what grid this particular grid instance (i.e. grid runtime and its
 local node) belongs to.
 <p>
 If default grid instance is used, then
 <code>null</code> is returned. Refer to <a href="../../../org/apache/ignite/Ignition.html" title="class in org.apache.ignite"><code>Ignition</code></a> documentation
 for information on how to start named grids.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Name of the grid, or <code>null</code> for default grid.</dd></dl>
</li>
</ul>
<a name="log()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>log</h4>
<pre><a href="../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a>&nbsp;log()</pre>
<div class="block">Gets grid's logger.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid's logger.</dd></dl>
</li>
</ul>
<a name="configuration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configuration</h4>
<pre><a href="../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration">IgniteConfiguration</a>&nbsp;configuration()</pre>
<div class="block">Gets the configuration of this Ignite instance.
 <p>
 <b>NOTE:</b>
 <br>
 SPIs obtains through this method should never be used directly. SPIs provide
 internal view on the subsystem and is used internally by Ignite kernal. In rare use cases when
 access to a specific implementation of this SPI is required - an instance of this SPI can be obtained
 via this method to check its configuration properties or call other non-SPI
 methods.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Ignite configuration instance.</dd></dl>
</li>
</ul>
<a name="cluster()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cluster</h4>
<pre><a href="../../../org/apache/ignite/IgniteCluster.html" title="interface in org.apache.ignite">IgniteCluster</a>&nbsp;cluster()</pre>
<div class="block">Gets an instance of <a href="../../../org/apache/ignite/IgniteCluster.html" title="interface in org.apache.ignite"><code>IgniteCluster</code></a> interface.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Instance of <a href="../../../org/apache/ignite/IgniteCluster.html" title="interface in org.apache.ignite"><code>IgniteCluster</code></a> interface.</dd></dl>
</li>
</ul>
<a name="compute()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compute</h4>
<pre><a href="../../../org/apache/ignite/IgniteCompute.html" title="interface in org.apache.ignite">IgniteCompute</a>&nbsp;compute()</pre>
<div class="block">Gets <code>compute</code> facade over all cluster nodes started in server mode.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Compute instance over all cluster nodes started in server mode.</dd></dl>
</li>
</ul>
<a name="compute(org.apache.ignite.cluster.ClusterGroup)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compute</h4>
<pre><a href="../../../org/apache/ignite/IgniteCompute.html" title="interface in org.apache.ignite">IgniteCompute</a>&nbsp;compute(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</pre>
<div class="block">Gets <code>compute</code> facade over the specified cluster group. All operations
 on the returned <a href="../../../org/apache/ignite/IgniteCompute.html" title="interface in org.apache.ignite"><code>IgniteCompute</code></a> instance will only include nodes from
 this cluster group.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>grp</code> - Cluster group.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Compute instance over given cluster group.</dd></dl>
</li>
</ul>
<a name="message()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>message</h4>
<pre><a href="../../../org/apache/ignite/IgniteMessaging.html" title="interface in org.apache.ignite">IgniteMessaging</a>&nbsp;message()</pre>
<div class="block">Gets <code>messaging</code> facade over all cluster nodes.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Messaging instance over all cluster nodes.</dd></dl>
</li>
</ul>
<a name="message(org.apache.ignite.cluster.ClusterGroup)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>message</h4>
<pre><a href="../../../org/apache/ignite/IgniteMessaging.html" title="interface in org.apache.ignite">IgniteMessaging</a>&nbsp;message(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</pre>
<div class="block">Gets <code>messaging</code> facade over nodes within the cluster group.  All operations
 on the returned <a href="../../../org/apache/ignite/IgniteMessaging.html" title="interface in org.apache.ignite"><code>IgniteMessaging</code></a> instance will only include nodes from
 the specified cluster group.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>grp</code> - Cluster group.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Messaging instance over given cluster group.</dd></dl>
</li>
</ul>
<a name="events()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>events</h4>
<pre><a href="../../../org/apache/ignite/IgniteEvents.html" title="interface in org.apache.ignite">IgniteEvents</a>&nbsp;events()</pre>
<div class="block">Gets <code>events</code> facade over all cluster nodes.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Events instance over all cluster nodes.</dd></dl>
</li>
</ul>
<a name="events(org.apache.ignite.cluster.ClusterGroup)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>events</h4>
<pre><a href="../../../org/apache/ignite/IgniteEvents.html" title="interface in org.apache.ignite">IgniteEvents</a>&nbsp;events(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</pre>
<div class="block">Gets <code>events</code> facade over nodes within the cluster group. All operations
 on the returned <a href="../../../org/apache/ignite/IgniteEvents.html" title="interface in org.apache.ignite"><code>IgniteEvents</code></a> instance will only include nodes from
 the specified cluster group.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>grp</code> - Cluster group.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Events instance over given cluster group.</dd></dl>
</li>
</ul>
<a name="services()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>services</h4>
<pre><a href="../../../org/apache/ignite/IgniteServices.html" title="interface in org.apache.ignite">IgniteServices</a>&nbsp;services()</pre>
<div class="block">Gets <code>services</code> facade over all cluster nodes started in server mode.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Services facade over all cluster nodes started in server mode.</dd></dl>
</li>
</ul>
<a name="services(org.apache.ignite.cluster.ClusterGroup)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>services</h4>
<pre><a href="../../../org/apache/ignite/IgniteServices.html" title="interface in org.apache.ignite">IgniteServices</a>&nbsp;services(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</pre>
<div class="block">Gets <code>services</code> facade over nodes within the cluster group. All operations
 on the returned <a href="../../../org/apache/ignite/IgniteMessaging.html" title="interface in org.apache.ignite"><code>IgniteMessaging</code></a> instance will only include nodes from
 the specified cluster group.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>grp</code> - Cluster group.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>Services</code> functionality over given cluster group.</dd></dl>
</li>
</ul>
<a name="executorService()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executorService</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;executorService()</pre>
<div class="block">Creates a new <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><code>ExecutorService</code></a> which will execute all submitted
 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent"><code>Callable</code></a> and <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><code>Runnable</code></a> jobs on all cluster nodes.
 This essentially creates a <b><i>Distributed Thread Pool</i></b> that can
 be used as a replacement for local thread pools.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid-enabled <code>ExecutorService</code>.</dd></dl>
</li>
</ul>
<a name="executorService(org.apache.ignite.cluster.ClusterGroup)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executorService</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;executorService(<a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;grp)</pre>
<div class="block">Creates a new <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><code>ExecutorService</code></a> which will execute all submitted
 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent"><code>Callable</code></a> and <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><code>Runnable</code></a> jobs on nodes in the specified cluster group.
 This essentially creates a <b><i>Distributed Thread Pool</i></b> that can be used as a
 replacement for local thread pools.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>grp</code> - Cluster group.</dd>
<dt><span class="strong">Returns:</span></dt><dd><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><code>ExecutorService</code></a> which will execute jobs on nodes in given cluster group.</dd></dl>
</li>
</ul>
<a name="version()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>version</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a>&nbsp;version()</pre>
<div class="block">Gets Ignite version.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Ignite version.</dd></dl>
</li>
</ul>
<a name="scheduler()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scheduler</h4>
<pre><a href="../../../org/apache/ignite/IgniteScheduler.html" title="interface in org.apache.ignite">IgniteScheduler</a>&nbsp;scheduler()</pre>
<div class="block">Gets an instance of cron-based scheduler.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Instance of scheduler.</dd></dl>
</li>
</ul>
<a name="createCache(org.apache.ignite.configuration.CacheConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createCache</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;&nbsp;createCache(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg)
                             throws javax.cache.CacheException</pre>
<div class="block">Dynamically starts new cache with the given cache configuration.
 <p>
 If local node is an affinity node, this method will return the instance of started cache.
 Otherwise, it will create a client cache on local node.
 <p>
 If a cache with the same name already exists in the grid, an exception will be thrown regardless
 whether the given configuration matches the configuration of the existing cache or not.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheCfg</code> - Cache configuration to use.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Instance of started cache.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If a cache with the same name already exists or other error occurs.</dd></dl>
</li>
</ul>
<a name="createCaches(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createCaches</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/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&gt;&nbsp;createCaches(<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/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&gt;&nbsp;cacheCfgs)
                                     throws javax.cache.CacheException</pre>
<div class="block">Dynamically starts new caches with the given cache configurations.
 <p>
 If local node is an affinity node, this method will return the instance of started caches.
 Otherwise, it will create a client caches on local node.
 <p>
 If for one of configurations a cache with the same name already exists in the grid, an exception will be thrown regardless
 whether the given configuration matches the configuration of the existing cache or not.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheCfgs</code> - Collection of cache configuration to use.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Collection of instances of started caches.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If one of created caches exists or other error occurs.</dd></dl>
</li>
</ul>
<a name="createCache(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createCache</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;&nbsp;createCache(<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>&nbsp;cacheName)
                             throws javax.cache.CacheException</pre>
<div class="block">Dynamically starts new cache using template configuration.
 <p>
 If local node is an affinity node, this method will return the instance of started cache.
 Otherwise, it will create a client cache on local node.
 <p>
 If a cache with the same name already exists in the grid, an exception will be thrown.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheName</code> - Cache name.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Instance of started cache.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If a cache with the same name already exists or other error occurs.</dd></dl>
</li>
</ul>
<a name="getOrCreateCache(org.apache.ignite.configuration.CacheConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrCreateCache</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;&nbsp;getOrCreateCache(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg)
                                  throws javax.cache.CacheException</pre>
<div class="block">Gets existing cache with the given name or creates new one with the given configuration.
 <p>
 If a cache with the same name already exist, this method will not check that the given
 configuration matches the configuration of existing cache and will return an instance
 of the existing cache.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheCfg</code> - Cache configuration to use.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Existing or newly created cache.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="getOrCreateCache(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrCreateCache</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;&nbsp;getOrCreateCache(<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>&nbsp;cacheName)
                                  throws javax.cache.CacheException</pre>
<div class="block">Gets existing cache with the given name or creates new one using template configuration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheName</code> - Cache name.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Existing or newly created cache.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="getOrCreateCaches(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrCreateCaches</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/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&gt;&nbsp;getOrCreateCaches(<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/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&gt;&nbsp;cacheCfgs)
                                          throws javax.cache.CacheException</pre>
<div class="block">Gets existing caches with the given name or created one with the given configuration.
 <p>
 If a cache with the same name already exist, this method will not check that the given
 configuration matches the configuration of existing cache and will return an instance
 of the existing cache.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheCfgs</code> - Collection of cache configuration to use.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Collection of existing or newly created caches.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="addCacheConfiguration(org.apache.ignite.configuration.CacheConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCacheConfiguration</h4>
<pre>&lt;K,V&gt;&nbsp;void&nbsp;addCacheConfiguration(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg)
                           throws javax.cache.CacheException</pre>
<div class="block">Adds cache configuration template.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheCfg</code> - Cache configuration template.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="createCache(org.apache.ignite.configuration.CacheConfiguration, org.apache.ignite.configuration.NearCacheConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createCache</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;&nbsp;createCache(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg,
                                 <a href="../../../org/apache/ignite/configuration/NearCacheConfiguration.html" title="class in org.apache.ignite.configuration">NearCacheConfiguration</a>&lt;K,V&gt;&nbsp;nearCfg)
                             throws javax.cache.CacheException</pre>
<div class="block">Dynamically starts new cache with the given cache configuration.
 <p>
 If local node is an affinity node, this method will return the instance of started cache.
 Otherwise, it will create a near cache with the given configuration on local node.
 <p>
 If a cache with the same name already exists in the grid, an exception will be thrown regardless
 whether the given configuration matches the configuration of the existing cache or not.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheCfg</code> - Cache configuration to use.</dd><dd><code>nearCfg</code> - Near cache configuration to use on local node in case it is not an
      affinity node.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Instance of started cache.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If a cache with the same name already exists or other error occurs.</dd></dl>
</li>
</ul>
<a name="getOrCreateCache(org.apache.ignite.configuration.CacheConfiguration, org.apache.ignite.configuration.NearCacheConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrCreateCache</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;&nbsp;getOrCreateCache(<a href="../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>&lt;K,V&gt;&nbsp;cacheCfg,
                                      <a href="../../../org/apache/ignite/configuration/NearCacheConfiguration.html" title="class in org.apache.ignite.configuration">NearCacheConfiguration</a>&lt;K,V&gt;&nbsp;nearCfg)
                                  throws javax.cache.CacheException</pre>
<div class="block">Gets existing cache with the given cache configuration or creates one if it does not exist.
 <p>
 If a cache with the same name already exist, this method will not check that the given
 configuration matches the configuration of existing cache and will return an instance
 of the existing cache.
 <p>
 If local node is not an affinity node and a client cache without near cache has been already started
 on this node, an exception will be thrown.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheCfg</code> - Cache configuration.</dd><dd><code>nearCfg</code> - Near cache configuration for client.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>IgniteCache</code> instance.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="createNearCache(java.lang.String, org.apache.ignite.configuration.NearCacheConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createNearCache</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;&nbsp;createNearCache(@Nullable
                                     <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>&nbsp;cacheName,
                                     <a href="../../../org/apache/ignite/configuration/NearCacheConfiguration.html" title="class in org.apache.ignite.configuration">NearCacheConfiguration</a>&lt;K,V&gt;&nbsp;nearCfg)
                                 throws javax.cache.CacheException</pre>
<div class="block">Starts a near cache on local node if cache was previously started with one of the
 <a href="../../../org/apache/ignite/Ignite.html#createCache(org.apache.ignite.configuration.CacheConfiguration)"><code>createCache(CacheConfiguration)</code></a> or <a href="../../../org/apache/ignite/Ignite.html#createCache(org.apache.ignite.configuration.CacheConfiguration,%20org.apache.ignite.configuration.NearCacheConfiguration)"><code>createCache(CacheConfiguration, NearCacheConfiguration)</code></a>
 methods.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheName</code> - Cache name.</dd><dd><code>nearCfg</code> - Near cache configuration.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Cache instance.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="getOrCreateNearCache(java.lang.String, org.apache.ignite.configuration.NearCacheConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrCreateNearCache</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;&nbsp;getOrCreateNearCache(@Nullable
                                          <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>&nbsp;cacheName,
                                          <a href="../../../org/apache/ignite/configuration/NearCacheConfiguration.html" title="class in org.apache.ignite.configuration">NearCacheConfiguration</a>&lt;K,V&gt;&nbsp;nearCfg)
                                      throws javax.cache.CacheException</pre>
<div class="block">Gets existing near cache with the given name or creates a new one.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheName</code> - Cache name.</dd><dd><code>nearCfg</code> - Near configuration.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>IgniteCache</code> instance.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="destroyCache(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroyCache</h4>
<pre>void&nbsp;destroyCache(<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>&nbsp;cacheName)
                  throws javax.cache.CacheException</pre>
<div class="block">Stops dynamically started cache.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheName</code> - Cache name to stop.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="destroyCaches(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroyCaches</h4>
<pre>void&nbsp;destroyCaches(<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/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;cacheNames)
                   throws javax.cache.CacheException</pre>
<div class="block">Stops dynamically started caches.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheNames</code> - Collection of cache names to stop.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="cache(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cache</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;K,V&gt;&nbsp;cache(@Nullable
                           <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>&nbsp;name)
                       throws javax.cache.CacheException</pre>
<div class="block">Gets an instance of <a href="../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite"><code>IgniteCache</code></a> API. <code>IgniteCache</code> is a fully-compatible
 implementation of <code>JCache (JSR 107)</code> specification.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Cache name.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Instance of the cache for the specified name.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If error occurs.</dd></dl>
</li>
</ul>
<a name="cacheNames()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheNames</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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;cacheNames()</pre>
<div class="block">Gets the collection of names of currently available caches.

 Collection may contain <code>null</code> as a value for a cache name. Refer to <a href="../../../org/apache/ignite/configuration/CacheConfiguration.html#getName()"><code>CacheConfiguration.getName()</code></a>
 for more info.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Collection of names of currently available caches or an empty collection if no caches are available.</dd></dl>
</li>
</ul>
<a name="transactions()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transactions</h4>
<pre><a href="../../../org/apache/ignite/IgniteTransactions.html" title="interface in org.apache.ignite">IgniteTransactions</a>&nbsp;transactions()</pre>
<div class="block">Gets grid transactions facade.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid transactions facade.</dd></dl>
</li>
</ul>
<a name="dataStreamer(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataStreamer</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="interface in org.apache.ignite">IgniteDataStreamer</a>&lt;K,V&gt;&nbsp;dataStreamer(@Nullable
                                         <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>&nbsp;cacheName)
                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></pre>
<div class="block">Gets a new instance of data streamer associated with given cache name. Data streamer
 is responsible for loading external data into in-memory data grid. For more information
 refer to <a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="interface in org.apache.ignite"><code>IgniteDataStreamer</code></a> documentation.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheName</code> - Cache name (<code>null</code> for default cache).</dd>
<dt><span class="strong">Returns:</span></dt><dd>Data streamer.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - If node is stopping.</dd></dl>
</li>
</ul>
<a name="fileSystem(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileSystem</h4>
<pre><a href="../../../org/apache/ignite/IgniteFileSystem.html" title="interface in org.apache.ignite">IgniteFileSystem</a>&nbsp;fileSystem(<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>&nbsp;name)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
<div class="block">Gets an instance of IGFS (Ignite In-Memory File System). If one is not
 configured then <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang"><code>IllegalArgumentException</code></a> will be thrown.
 <p>
 IGFS is fully compliant with Hadoop <code>FileSystem</code> APIs and can
 be plugged into Hadoop installations. For more information refer to
 documentation on Hadoop integration shipped with Ignite.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - IGFS name.</dd>
<dt><span class="strong">Returns:</span></dt><dd>IGFS instance.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If IGFS with such name is not configured.</dd></dl>
</li>
</ul>
<a name="fileSystems()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileSystems</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/IgniteFileSystem.html" title="interface in org.apache.ignite">IgniteFileSystem</a>&gt;&nbsp;fileSystems()</pre>
<div class="block">Gets all instances of IGFS (Ignite In-Memory File System).</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Collection of IGFS instances.</dd></dl>
</li>
</ul>
<a name="atomicSequence(java.lang.String, long, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atomicSequence</h4>
<pre><a href="../../../org/apache/ignite/IgniteAtomicSequence.html" title="interface in org.apache.ignite">IgniteAtomicSequence</a>&nbsp;atomicSequence(<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>&nbsp;name,
                                  long&nbsp;initVal,
                                  boolean&nbsp;create)
                                    throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Will get an atomic sequence from cache and create one if it has not been created yet and <code>create</code> flag
 is <code>true</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Sequence name.</dd><dd><code>initVal</code> - Initial value for sequence. Ignored if <code>create</code> flag is <code>false</code>.</dd><dd><code>create</code> - Boolean flag indicating whether data structure should be created if does not exist.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Sequence for the given name.</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> - If sequence could not be fetched or created.</dd></dl>
</li>
</ul>
<a name="atomicLong(java.lang.String, long, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atomicLong</h4>
<pre><a href="../../../org/apache/ignite/IgniteAtomicLong.html" title="interface in org.apache.ignite">IgniteAtomicLong</a>&nbsp;atomicLong(<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>&nbsp;name,
                          long&nbsp;initVal,
                          boolean&nbsp;create)
                            throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Will get a atomic long from cache and create one if it has not been created yet and <code>create</code> flag
 is <code>true</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Name of atomic long.</dd><dd><code>initVal</code> - Initial value for atomic long. Ignored if <code>create</code> flag is <code>false</code>.</dd><dd><code>create</code> - Boolean flag indicating whether data structure should be created if does not exist.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Atomic long.</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> - If atomic long could not be fetched or created.</dd></dl>
</li>
</ul>
<a name="atomicReference(java.lang.String,java.lang.Object,boolean)">
<!--   -->
</a><a name="atomicReference(java.lang.String, T, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atomicReference</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteAtomicReference.html" title="interface in org.apache.ignite">IgniteAtomicReference</a>&lt;T&gt;&nbsp;atomicReference(<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>&nbsp;name,
                                           @Nullable
                                           T&nbsp;initVal,
                                           boolean&nbsp;create)
                                         throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Will get a atomic reference from cache and create one if it has not been created yet and <code>create</code> flag
 is <code>true</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Atomic reference name.</dd><dd><code>initVal</code> - Initial value for atomic reference. Ignored if <code>create</code> flag is <code>false</code>.</dd><dd><code>create</code> - Boolean flag indicating whether data structure should be created if does not exist.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Atomic reference for the given name.</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> - If atomic reference could not be fetched or created.</dd></dl>
</li>
</ul>
<a name="atomicStamped(java.lang.String,java.lang.Object,java.lang.Object,boolean)">
<!--   -->
</a><a name="atomicStamped(java.lang.String, T, S, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atomicStamped</h4>
<pre>&lt;T,S&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteAtomicStamped.html" title="interface in org.apache.ignite">IgniteAtomicStamped</a>&lt;T,S&gt;&nbsp;atomicStamped(<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>&nbsp;name,
                                           @Nullable
                                           T&nbsp;initVal,
                                           @Nullable
                                           S&nbsp;initStamp,
                                           boolean&nbsp;create)
                                       throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Will get a atomic stamped from cache and create one if it has not been created yet and <code>create</code> flag
 is <code>true</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Atomic stamped name.</dd><dd><code>initVal</code> - Initial value for atomic stamped. Ignored if <code>create</code> flag is <code>false</code>.</dd><dd><code>initStamp</code> - Initial stamp for atomic stamped. Ignored if <code>create</code> flag is <code>false</code>.</dd><dd><code>create</code> - Boolean flag indicating whether data structure should be created if does not exist.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Atomic stamped for the given name.</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> - If atomic stamped could not be fetched or created.</dd></dl>
</li>
</ul>
<a name="countDownLatch(java.lang.String, int, boolean, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countDownLatch</h4>
<pre><a href="../../../org/apache/ignite/IgniteCountDownLatch.html" title="interface in org.apache.ignite">IgniteCountDownLatch</a>&nbsp;countDownLatch(<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>&nbsp;name,
                                  int&nbsp;cnt,
                                  boolean&nbsp;autoDel,
                                  boolean&nbsp;create)
                                    throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Gets or creates count down latch. If count down latch is not found in cache and <code>create</code> flag
 is <code>true</code>, it is created using provided name and count parameter.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Name of the latch.</dd><dd><code>cnt</code> - Count for new latch creation. Ignored if <code>create</code> flag is <code>false</code>.</dd><dd><code>autoDel</code> - <code>True</code> to automatically delete latch from cache when its count reaches zero.
        Ignored if <code>create</code> flag is <code>false</code>.</dd><dd><code>create</code> - Boolean flag indicating whether data structure should be created if does not exist.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Count down latch for the given name.</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> - If latch could not be fetched or created.</dd></dl>
</li>
</ul>
<a name="semaphore(java.lang.String, int, boolean, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>semaphore</h4>
<pre><a href="../../../org/apache/ignite/IgniteSemaphore.html" title="interface in org.apache.ignite">IgniteSemaphore</a>&nbsp;semaphore(<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>&nbsp;name,
                        int&nbsp;cnt,
                        boolean&nbsp;failoverSafe,
                        boolean&nbsp;create)
                          throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Gets or creates semaphore. If semaphore is not found in cache and <code>create</code> flag
 is <code>true</code>, it is created using provided name and count parameter.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Name of the semaphore.</dd><dd><code>cnt</code> - Count for new semaphore creation. Ignored if <code>create</code> flag is <code>false</code>.</dd><dd><code>failoverSafe</code> - <code>True</code> to create failover safe semaphore which means that
      if any node leaves topology permits already acquired by that node are silently released
      and become available for alive nodes to acquire. If flag is <code>false</code> then
      all threads waiting for available permits get interrupted.</dd><dd><code>create</code> - Boolean flag indicating whether data structure should be created if does not exist.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Semaphore for the given name.</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> - If semaphore could not be fetched or created.</dd></dl>
</li>
</ul>
<a name="reentrantLock(java.lang.String, boolean, boolean, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reentrantLock</h4>
<pre><a href="../../../org/apache/ignite/IgniteLock.html" title="interface in org.apache.ignite">IgniteLock</a>&nbsp;reentrantLock(<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>&nbsp;name,
                       boolean&nbsp;failoverSafe,
                       boolean&nbsp;fair,
                       boolean&nbsp;create)
                         throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Gets or creates reentrant lock. If reentrant lock is not found in cache and <code>create</code> flag
 is <code>true</code>, it is created using provided name.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Name of the lock.</dd><dd><code>failoverSafe</code> - <code>True</code> to create failover safe lock which means that
      if any node leaves topology, all locks already acquired by that node are silently released
      and become available for other nodes to acquire. If flag is <code>false</code> then
      all threads on other nodes waiting to acquire lock are interrupted.</dd><dd><code>fair</code> - If <code>True</code>, fair lock will be created.</dd><dd><code>create</code> - Boolean flag indicating whether data structure should be created if does not exist.</dd>
<dt><span class="strong">Returns:</span></dt><dd>ReentrantLock for the given name.</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> - If reentrant lock could not be fetched or created.</dd></dl>
</li>
</ul>
<a name="queue(java.lang.String, int, org.apache.ignite.configuration.CollectionConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>queue</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteQueue.html" title="interface in org.apache.ignite">IgniteQueue</a>&lt;T&gt;&nbsp;queue(<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>&nbsp;name,
                       int&nbsp;cap,
                       @Nullable
                       <a href="../../../org/apache/ignite/configuration/CollectionConfiguration.html" title="class in org.apache.ignite.configuration">CollectionConfiguration</a>&nbsp;cfg)
                     throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Will get a named queue from cache and create one if it has not been created yet and <code>cfg</code> is not
 <code>null</code>.
 If queue is present already, queue properties will not be changed. Use
 collocation for <a href="../../../org/apache/ignite/cache/CacheMode.html#PARTITIONED"><code>CacheMode.PARTITIONED</code></a> caches if you have lots of relatively
 small queues as it will make fetching, querying, and iteration a lot faster. If you have
 few very large queues, then you should consider turning off collocation as they simply
 may not fit in a single node's memory.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Name of queue.</dd><dd><code>cap</code> - Capacity of queue, <code>0</code> for unbounded queue. Ignored if <code>cfg</code> is <code>null</code>.</dd><dd><code>cfg</code> - Queue configuration if new queue should be created.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Queue with given properties.</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> - If queue could not be fetched or created.</dd></dl>
</li>
</ul>
<a name="set(java.lang.String, org.apache.ignite.configuration.CollectionConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../org/apache/ignite/IgniteSet.html" title="interface in org.apache.ignite">IgniteSet</a>&lt;T&gt;&nbsp;set(<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>&nbsp;name,
                   @Nullable
                   <a href="../../../org/apache/ignite/configuration/CollectionConfiguration.html" title="class in org.apache.ignite.configuration">CollectionConfiguration</a>&nbsp;cfg)
                 throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Will get a named set from cache and create one if it has not been created yet and <code>cfg</code> is not
 <code>null</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Set name.</dd><dd><code>cfg</code> - Set configuration if new set should be created.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Set with given properties.</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> - If set could not be fetched or created.</dd></dl>
</li>
</ul>
<a name="plugin(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>plugin</h4>
<pre>&lt;T extends <a href="../../../org/apache/ignite/plugin/IgnitePlugin.html" title="interface in org.apache.ignite.plugin">IgnitePlugin</a>&gt;&nbsp;T&nbsp;plugin(<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>&nbsp;name)
                              throws <a href="../../../org/apache/ignite/plugin/PluginNotFoundException.html" title="class in org.apache.ignite.plugin">PluginNotFoundException</a></pre>
<div class="block">Gets an instance of deployed Ignite plugin.</div>
<dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - Plugin type.</dd><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Plugin name.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Plugin instance.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/plugin/PluginNotFoundException.html" title="class in org.apache.ignite.plugin">PluginNotFoundException</a></code> - If plugin for the given name was not found.</dd></dl>
</li>
</ul>
<a name="binary()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>binary</h4>
<pre><a href="../../../org/apache/ignite/IgniteBinary.html" title="interface in org.apache.ignite">IgniteBinary</a>&nbsp;binary()</pre>
<div class="block">Gets an instance of <a href="../../../org/apache/ignite/IgniteBinary.html" title="interface in org.apache.ignite"><code>IgniteBinary</code></a> interface.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Instance of <a href="../../../org/apache/ignite/IgniteBinary.html" title="interface in org.apache.ignite"><code>IgniteBinary</code></a> interface.</dd></dl>
</li>
</ul>
<a name="close()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()
           throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Closes <code>this</code> instance of grid. This method is identical to calling
 <a href="../../../org/apache/ignite/Ignition.html#stop(java.lang.String,%20boolean)"><code>G.stop(gridName, true)</code></a>.
 <p>
 The method is invoked automatically on objects managed by the
 <code>try-with-resources</code> statement.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true#close()" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></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> - If failed to stop grid.</dd></dl>
</li>
</ul>
<a name="affinity(java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>affinity</h4>
<pre>&lt;K&gt;&nbsp;<a href="../../../org/apache/ignite/cache/affinity/Affinity.html" title="interface in org.apache.ignite.cache.affinity">Affinity</a>&lt;K&gt;&nbsp;affinity(<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>&nbsp;cacheName)</pre>
<div class="block">Gets affinity service to provide information about data partitioning
 and distribution.</div>
<dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>K</code> - Cache key type.</dd><dt><span class="strong">Parameters:</span></dt><dd><code>cacheName</code> - Cache name.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Affinity.</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/Ignite.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>Prev Class</li>
<li><a href="../../../org/apache/ignite/IgniteAtomicLong.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/Ignite.html" target="_top">Frames</a></li>
<li><a href="Ignite.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>2015 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>                                             <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>                                         </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>1.8.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             December 5 2016                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
