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

<!-- Generated by javadoc (version 1.7.0_80) on Mon Dec 05 14:49:09 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.ignite (Ignite 1.8.0)</title>
<meta name="date" content="2016-12-05">
<link rel="stylesheet" type="text/css" href="../../../javadoc.css" title="Style">

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

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

</script></head>
<body>
<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>
</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>
