<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.7.0/javadoc/org/apache/ignite/Ignite.html" />
<!-- Generated by javadoc (version 1.7.0_80) on Mon Aug 01 20:32:30 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ignite (Ignite 1.7.0)</title>
<meta name="date" content="2016-08-01">
<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.7.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>&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="rowColor">
<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="altColor">
<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="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>&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="rowColor">
<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="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()">message</a></strong>()</code>
<div class="block">Gets <code>messaging</code> facade over all cluster nodes.</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(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="altColor">
<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="rowColor">
<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="altColor">
<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="rowColor">
<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="altColor">
<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="rowColor">
<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="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()">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="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(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="altColor">
<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="rowColor">
<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="altColor">
<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)</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></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)</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></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)</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></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)</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></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)</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></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)</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></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)</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></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)</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></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)</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></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)</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></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)</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></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)</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></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)</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.7.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             August 1 2016                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
