<!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.8.1/javadoc/org/apache/ignite/events/package-frame.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (1.8.0_221) on Thu May 21 17:45:11 MSK 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.ignite.events (Ignite 2.8.1)</title>
<meta name="date" content="2020-05-21">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>

<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/events/package-summary.html" target="classFrame">org.apache.ignite.events</a></h1>
<div class="indexContainer">
<h2 title="Interfaces">Interfaces</h2>
<ul title="Interfaces">
<li><a href="Event.html" title="interface in org.apache.ignite.events" target="classFrame"><span class="interfaceName">Event</span></a></li>
<li><a href="EventType.html" title="interface in org.apache.ignite.events" target="classFrame"><span class="interfaceName">EventType</span></a></li>
</ul>
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="CacheConsistencyViolationEvent.html" title="class in org.apache.ignite.events" target="classFrame">CacheConsistencyViolationEvent</a></li>
<li><a href="CacheEvent.html" title="class in org.apache.ignite.events" target="classFrame">CacheEvent</a></li>
<li><a href="CacheQueryExecutedEvent.html" title="class in org.apache.ignite.events" target="classFrame">CacheQueryExecutedEvent</a></li>
<li><a href="CacheQueryReadEvent.html" title="class in org.apache.ignite.events" target="classFrame">CacheQueryReadEvent</a></li>
<li><a href="CacheRebalancingEvent.html" title="class in org.apache.ignite.events" target="classFrame">CacheRebalancingEvent</a></li>
<li><a href="CheckpointEvent.html" title="class in org.apache.ignite.events" target="classFrame">CheckpointEvent</a></li>
<li><a href="ClusterActivationEvent.html" title="class in org.apache.ignite.events" target="classFrame">ClusterActivationEvent</a></li>
<li><a href="DeploymentEvent.html" title="class in org.apache.ignite.events" target="classFrame">DeploymentEvent</a></li>
<li><a href="DiscoveryEvent.html" title="class in org.apache.ignite.events" target="classFrame">DiscoveryEvent</a></li>
<li><a href="EventAdapter.html" title="class in org.apache.ignite.events" target="classFrame">EventAdapter</a></li>
<li><a href="IgfsEvent.html" title="class in org.apache.ignite.events" target="classFrame">IgfsEvent</a></li>
<li><a href="JobEvent.html" title="class in org.apache.ignite.events" target="classFrame">JobEvent</a></li>
<li><a href="TaskEvent.html" title="class in org.apache.ignite.events" target="classFrame">TaskEvent</a></li>
<li><a href="TransactionStateChangedEvent.html" title="class in org.apache.ignite.events" target="classFrame">TransactionStateChangedEvent</a></li>
<li><a href="WalSegmentArchivedEvent.html" title="class in org.apache.ignite.events" target="classFrame">WalSegmentArchivedEvent</a></li>
<li><a href="WalSegmentCompactedEvent.html" title="class in org.apache.ignite.events" target="classFrame">WalSegmentCompactedEvent</a></li>
</ul>
</div>
</body>
</html>
