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

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

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

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

</script></head>
<body>
<h1 class="bar"><a href="../../../org/apache/ignite/package-summary.html" target="classFrame">org.apache.ignite</a></h1>
<div class="indexContainer">
<h2 title="Interfaces">Interfaces</h2>
<ul title="Interfaces">
<li><a href="Ignite.html" title="interface in org.apache.ignite" target="classFrame"><i>Ignite</i></a></li>
<li><a href="IgniteAtomicLong.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteAtomicLong</i></a></li>
<li><a href="IgniteAtomicReference.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteAtomicReference</i></a></li>
<li><a href="IgniteAtomicSequence.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteAtomicSequence</i></a></li>
<li><a href="IgniteAtomicStamped.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteAtomicStamped</i></a></li>
<li><a href="IgniteBinary.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteBinary</i></a></li>
<li><a href="IgniteCache.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteCache</i></a></li>
<li><a href="IgniteCluster.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteCluster</i></a></li>
<li><a href="IgniteCompute.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteCompute</i></a></li>
<li><a href="IgniteCondition.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteCondition</i></a></li>
<li><a href="IgniteCountDownLatch.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteCountDownLatch</i></a></li>
<li><a href="IgniteDataStreamer.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteDataStreamer</i></a></li>
<li><a href="IgniteEvents.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteEvents</i></a></li>
<li><a href="IgniteFileSystem.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteFileSystem</i></a></li>
<li><a href="IgniteLock.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteLock</i></a></li>
<li><a href="IgniteLogger.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteLogger</i></a></li>
<li><a href="IgniteMessaging.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteMessaging</i></a></li>
<li><a href="IgniteQueue.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteQueue</i></a></li>
<li><a href="IgniteScheduler.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteScheduler</i></a></li>
<li><a href="IgniteSemaphore.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteSemaphore</i></a></li>
<li><a href="IgniteServices.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteServices</i></a></li>
<li><a href="IgniteSet.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteSet</i></a></li>
<li><a href="IgniteTransactions.html" title="interface in org.apache.ignite" target="classFrame"><i>IgniteTransactions</i></a></li>
<li><a href="IgnitionListener.html" title="interface in org.apache.ignite" target="classFrame"><i>IgnitionListener</i></a></li>
<li><a href="MemoryMetrics.html" title="interface in org.apache.ignite" target="classFrame"><i>MemoryMetrics</i></a></li>
</ul>
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="IgniteJdbcDriver.html" title="class in org.apache.ignite" target="classFrame">IgniteJdbcDriver</a></li>
<li><a href="IgniteSpring.html" title="class in org.apache.ignite" target="classFrame">IgniteSpring</a></li>
<li><a href="IgniteSpringBean.html" title="class in org.apache.ignite" target="classFrame">IgniteSpringBean</a></li>
<li><a href="IgniteSystemProperties.html" title="class in org.apache.ignite" target="classFrame">IgniteSystemProperties</a></li>
<li><a href="Ignition.html" title="class in org.apache.ignite" target="classFrame">Ignition</a></li>
</ul>
<h2 title="Enums">Enums</h2>
<ul title="Enums">
<li><a href="IgniteState.html" title="enum in org.apache.ignite" target="classFrame">IgniteState</a></li>
</ul>
<h2 title="Exceptions">Exceptions</h2>
<ul title="Exceptions">
<li><a href="IgniteAuthenticationException.html" title="class in org.apache.ignite" target="classFrame">IgniteAuthenticationException</a></li>
<li><a href="IgniteCheckedException.html" title="class in org.apache.ignite" target="classFrame">IgniteCheckedException</a></li>
<li><a href="IgniteClientDisconnectedException.html" title="class in org.apache.ignite" target="classFrame">IgniteClientDisconnectedException</a></li>
<li><a href="IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite" target="classFrame">IgniteDataStreamerTimeoutException</a></li>
<li><a href="IgniteDeploymentException.html" title="class in org.apache.ignite" target="classFrame">IgniteDeploymentException</a></li>
<li><a href="IgniteException.html" title="class in org.apache.ignite" target="classFrame">IgniteException</a></li>
<li><a href="IgniteIllegalStateException.html" title="class in org.apache.ignite" target="classFrame">IgniteIllegalStateException</a></li>
<li><a href="IgniteInterruptedException.html" title="class in org.apache.ignite" target="classFrame">IgniteInterruptedException</a></li>
</ul>
</div>
</body>
</html>
