<!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/IgniteEvents.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (1.8.0_221) on Thu May 21 17:45:01 MSK 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IgniteEvents (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>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="IgniteEvents (Ignite 2.8.1)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":38};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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/IgniteEvents.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/ignite/IgniteDeploymentException.html" title="class in org.apache.ignite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/ignite/IgniteEvents.html" target="_top">Frames</a></li>
<li><a href="IgniteEvents.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;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 IgniteEvents" class="title">Interface IgniteEvents</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang">IgniteAsyncSupport</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">IgniteEvents</span>
extends <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang">IgniteAsyncSupport</a></pre>
<div class="block">Provides functionality for local and remote event notifications on nodes defined by <a href="../../../org/apache/ignite/IgniteEvents.html#clusterGroup--"><code>clusterGroup()</code></a>.
 There are <code>2</code> ways to subscribe to event listening, <code>local</code> and <code>remote</code>.
 <p>
 Instance of <code>IgniteEvents</code> is obtained from <a href="../../../org/apache/ignite/Ignite.html" title="interface in org.apache.ignite"><code>Ignite</code></a> as follows:
 <pre class="brush:java">
 Ignite ignite = Ignition.ignite();

 IgniteEvents evts = ignite.events();
 </pre>
 You can also obtain an instance of the events facade over a specific cluster group:
 <pre class="brush:java">
 // Cluster group over remote nodes (excluding the local node).
 ClusterGroup remoteNodes = ignite.cluster().forRemotes();

 // Events instance spanning all remote cluster nodes.
 IgniteEvents evts = ignite.events(remoteNodes);
 </pre>
 <p>
 Local subscription, defined by <a href="../../../org/apache/ignite/IgniteEvents.html#localListen-org.apache.ignite.lang.IgnitePredicate-int...-"><code>localListen(IgnitePredicate, int...)</code></a> method, will add
 a listener for specified events on local node only. This listener will be notified whenever any
 of subscribed events happen on local node regardless of whether local node belongs to underlying
 cluster group or not.
 <p>
 Remote subscription, defined by <a href="../../../org/apache/ignite/IgniteEvents.html#remoteListen-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-"><code>remoteListen(IgniteBiPredicate, IgnitePredicate, int...)</code></a>, will add an
 event listener for specified events on all nodes in the cluster group (possibly including local node if
 it belongs to the cluster group as well). All cluster group nodes will then be notified of the subscribed events.
 If the events pass the remote event filter, the events will be sent to local node for local listener notification.
 <p>
 Note that by default, all events in Ignite are disabled for performance reasons. You must only enable
 events that you need within your logic. You can enable/disable events either by calling <a href="../../../org/apache/ignite/IgniteEvents.html#enableLocal-int...-"><code>enableLocal(int...)</code></a>
 or <a href="../../../org/apache/ignite/IgniteEvents.html#disableLocal-int...-"><code>disableLocal(int...)</code></a> methods, or from XML configuration.
 For example, you can enable all cache events as follows:
 <pre name="code" class="xml">
 &lt;property name="includeEventTypes"&gt;
     &lt;util:constant static-field="org.apache.ignite.events.IgniteEventType.EVTS_CACHE"/&gt;
 &lt;/property&gt;
 </pre></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#clusterGroup--">clusterGroup</a></span>()</code>
<div class="block">Gets cluster group to which this <code>IgniteEvents</code> instance belongs.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#disableLocal-int...-">disableLocal</a></span>(int...&nbsp;types)</code>
<div class="block">Disables provided events.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#enabledEvents--">enabledEvents</a></span>()</code>
<div class="block">Gets types of enabled events.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#enableLocal-int...-">enableLocal</a></span>(int...&nbsp;types)</code>
<div class="block">Enables provided events.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#isEnabled-int-">isEnabled</a></span>(int&nbsp;type)</code>
<div class="block">Check if event is enabled.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#localListen-org.apache.ignite.lang.IgnitePredicate-int...-">localListen</a></span>(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>? extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;lsnr,
           int...&nbsp;types)</code>
<div class="block">Adds an event listener for local events.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span><br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#localQuery-org.apache.ignite.lang.IgnitePredicate-int...-">localQuery</a></span>(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;p,
          int...&nbsp;types)</code>
<div class="block">Queries local node for events using passed-in predicate filter for event selection.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#recordLocal-org.apache.ignite.events.Event-">recordLocal</a></span>(<a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a>&nbsp;evt)</code>
<div class="block">Records customer user generated event.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span><br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#remoteListen-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-">remoteListen</a></span>(@Nullable <a href="../../../org/apache/ignite/lang/IgniteBiPredicate.html" title="interface in org.apache.ignite.lang">IgniteBiPredicate</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,T<span class='angle_bracket'>&gt;</span>&nbsp;locLsnr,
            @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;rmtFilter,
            int...&nbsp;types)</code>
<div class="block">Adds event listener for specified events to all nodes in the cluster group (possibly including
 local node if it belongs to the cluster group as well).</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span><br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#remoteListen-int-long-boolean-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-">remoteListen</a></span>(int&nbsp;bufSize,
            long&nbsp;interval,
            boolean&nbsp;autoUnsubscribe,
            @Nullable <a href="../../../org/apache/ignite/lang/IgniteBiPredicate.html" title="interface in org.apache.ignite.lang">IgniteBiPredicate</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,T<span class='angle_bracket'>&gt;</span>&nbsp;locLsnr,
            @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;rmtFilter,
            int...&nbsp;types)</code>
<div class="block">Adds event listener for specified events to all nodes in the cluster group (possibly including
 local node if it belongs to the cluster group as well).</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span><br><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#remoteListenAsync-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-">remoteListenAsync</a></span>(@Nullable <a href="../../../org/apache/ignite/lang/IgniteBiPredicate.html" title="interface in org.apache.ignite.lang">IgniteBiPredicate</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,T<span class='angle_bracket'>&gt;</span>&nbsp;locLsnr,
                 @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;rmtFilter,
                 int...&nbsp;types)</code>
<div class="block">Asynchronously adds event listener for specified events to all nodes in the cluster group (possibly including
 local node if it belongs to the cluster group as well).</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span><br><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#remoteListenAsync-int-long-boolean-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-">remoteListenAsync</a></span>(int&nbsp;bufSize,
                 long&nbsp;interval,
                 boolean&nbsp;autoUnsubscribe,
                 @Nullable <a href="../../../org/apache/ignite/lang/IgniteBiPredicate.html" title="interface in org.apache.ignite.lang">IgniteBiPredicate</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,T<span class='angle_bracket'>&gt;</span>&nbsp;locLsnr,
                 @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;rmtFilter,
                 int...&nbsp;types)</code>
<div class="block">Asynchronously adds event listener for specified events to all nodes in the cluster group (possibly including
 local node if it belongs to the cluster group as well).</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span><br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#remoteQuery-org.apache.ignite.lang.IgnitePredicate-long-int...-">remoteQuery</a></span>(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;p,
           long&nbsp;timeout,
           int...&nbsp;types)</code>
<div class="block">Queries nodes in this cluster group for events using passed in predicate filter for event
 selection.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span><br><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#remoteQueryAsync-org.apache.ignite.lang.IgnitePredicate-long-int...-">remoteQueryAsync</a></span>(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;p,
                long&nbsp;timeout,
                int...&nbsp;types)</code>
<div class="block">Asynchronously queries nodes in this cluster group for events using passed in predicate filter for event
 selection.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#stopLocalListen-org.apache.ignite.lang.IgnitePredicate-int...-">stopLocalListen</a></span>(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>? extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;lsnr,
               int...&nbsp;types)</code>
<div class="block">Removes local event listener.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-">stopRemoteListen</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;opId)</code>
<div class="block">Stops listening to remote events.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListenAsync-java.util.UUID-">stopRemoteListenAsync</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;opId)</code>
<div class="block">Asynchronously stops listening to remote events.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span><br>T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#waitForLocal-org.apache.ignite.lang.IgnitePredicate-int...-">waitForLocal</a></span>(@Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;filter,
            int...&nbsp;types)</code>
<div class="block">Waits for the specified events.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span><br><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#waitForLocalAsync-org.apache.ignite.lang.IgnitePredicate-int...-">waitForLocalAsync</a></span>(@Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;filter,
                 int...&nbsp;types)</code>
<div class="block">Create future to wait for the specified events.</div>
</td>
</tr>
<tr id="i19" 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><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteEvents.html#withAsync--">withAsync</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.lang.IgniteAsyncSupport">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.lang.<a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang">IgniteAsyncSupport</a></h3>
<code><a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html#future--">future</a>, <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html#isAsync--">isAsync</a></code></li>
</ul>
</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="clusterGroup--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clusterGroup</h4>
<pre><a href="../../../org/apache/ignite/cluster/ClusterGroup.html" title="interface in org.apache.ignite.cluster">ClusterGroup</a>&nbsp;clusterGroup()</pre>
<div class="block">Gets cluster group to which this <code>IgniteEvents</code> instance belongs.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Cluster group to which this <code>IgniteEvents</code> instance belongs.</dd>
</dl>
</li>
</ul>
<a name="remoteQuery-org.apache.ignite.lang.IgnitePredicate-long-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteQuery</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteAsyncSupported.html" title="annotation in org.apache.ignite.lang">@IgniteAsyncSupported</a>
<span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;remoteQuery(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;p,
                                                            long&nbsp;timeout,
                                                            @Nullable
                                                            int...&nbsp;types)
                                                     throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Queries nodes in this cluster group for events using passed in predicate filter for event
 selection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>p</code> - Predicate filter used to query events on remote nodes.</dd>
<dd><code>timeout</code> - Maximum time to wait for result, <code>0</code> to wait forever.</dd>
<dd><code>types</code> - Event types to be queried.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Collection of grid events returned from specified nodes.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If query failed.</dd>
</dl>
</li>
</ul>
<a name="remoteQueryAsync-org.apache.ignite.lang.IgnitePredicate-long-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteQueryAsync</h4>
<pre><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;<a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span>&nbsp;remoteQueryAsync(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;p,
                                                         long&nbsp;timeout,
                                                         @Nullable
                                                         int...&nbsp;types)
                                                  throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Asynchronously queries nodes in this cluster group for events using passed in predicate filter for event
 selection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>p</code> - Predicate filter used to query events on remote nodes.</dd>
<dd><code>timeout</code> - Maximum time to wait for result, <code>0</code> to wait forever.</dd>
<dd><code>types</code> - Event types to be queried.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Future representing pending completion of the query. The completed future contains
      collection of grid events returned from specified nodes.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If query failed.</dd>
</dl>
</li>
</ul>
<a name="remoteListen-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteListen</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteAsyncSupported.html" title="annotation in org.apache.ignite.lang">@IgniteAsyncSupported</a>
<span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;remoteListen(@Nullable
                                                          @Nullable <a href="../../../org/apache/ignite/lang/IgniteBiPredicate.html" title="interface in org.apache.ignite.lang">IgniteBiPredicate</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,T<span class='angle_bracket'>&gt;</span>&nbsp;locLsnr,
                                                          @Nullable
                                                          @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;rmtFilter,
                                                          @Nullable
                                                          int...&nbsp;types)
                                                   throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Adds event listener for specified events to all nodes in the cluster group (possibly including
 local node if it belongs to the cluster group as well). This means that all events occurring on
 any node within this cluster group that pass remote filter will be sent to local node for
 local listener notifications.
 <p>
 The listener can be unsubscribed automatically if local node stops, if <code>locLsnr</code> callback
 returns <code>false</code> or if <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> or <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListenAsync-java.util.UUID-"><code>stopRemoteListenAsync(UUID)</code></a> are called.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Type of the event.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locLsnr</code> - Listener callback that is called on local node. If <code>null</code>, this events will be handled
      on remote nodes by passed in <code>rmtFilter</code>.</dd>
<dd><code>rmtFilter</code> - Filter callback that is called on remote node. Only events that pass the remote filter
      will be sent to local node. If <code>null</code>, all events of specified types will
      be sent to local node. This remote filter can be used to pre-handle events remotely,
      before they are passed in to local callback. It will be auto-unsubsribed on the node
      where event occurred in case if it returns <code>false</code>.</dd>
<dd><code>types</code> - Types of events to listen for. If not provided, all events that pass the
      provided remote filter will be sent to local node.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Operation ID</code> that can be passed to <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> or
 <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListenAsync-java.util.UUID-"><code>stopRemoteListenAsync(UUID)</code></a> methods to stop listening.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If failed to add listener.</dd>
</dl>
</li>
</ul>
<a name="remoteListenAsync-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteListenAsync</h4>
<pre><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;<a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a><span class='angle_bracket'>&gt;</span>&nbsp;remoteListenAsync(@Nullable
                                                       @Nullable <a href="../../../org/apache/ignite/lang/IgniteBiPredicate.html" title="interface in org.apache.ignite.lang">IgniteBiPredicate</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,T<span class='angle_bracket'>&gt;</span>&nbsp;locLsnr,
                                                       @Nullable
                                                       @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;rmtFilter,
                                                       @Nullable
                                                       int...&nbsp;types)
                                                throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Asynchronously adds event listener for specified events to all nodes in the cluster group (possibly including
 local node if it belongs to the cluster group as well). This means that all events occurring on
 any node within this cluster group that pass remote filter will be sent to local node for
 local listener notifications.
 <p>
 The listener can be unsubscribed automatically if local node stops, if <code>locLsnr</code> callback
 returns <code>false</code> or if <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> or <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListenAsync-java.util.UUID-"><code>stopRemoteListenAsync(UUID)</code></a> are called.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Type of the event.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locLsnr</code> - Listener callback that is called on local node. If <code>null</code>, this events will be handled
      on remote nodes by passed in <code>rmtFilter</code>.</dd>
<dd><code>rmtFilter</code> - Filter callback that is called on remote node. Only events that pass the remote filter
      will be sent to local node. If <code>null</code>, all events of specified types will
      be sent to local node. This remote filter can be used to pre-handle events remotely,
      before they are passed in to local callback. It will be auto-unsubsribed on the node
      where event occurred in case if it returns <code>false</code>.</dd>
<dd><code>types</code> - Types of events to listen for. If not provided, all events that pass the
      provided remote filter will be sent to local node.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Future representing pending completion of the operation. The completed future contains
      <code>Operation ID</code> that can be passed to <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> or
      <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListenAsync-java.util.UUID-"><code>stopRemoteListenAsync(UUID)</code></a> methods to stop listening.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If failed to add listener.</dd>
</dl>
</li>
</ul>
<a name="remoteListen-int-long-boolean-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteListen</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteAsyncSupported.html" title="annotation in org.apache.ignite.lang">@IgniteAsyncSupported</a>
<span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;remoteListen(int&nbsp;bufSize,
                                                          long&nbsp;interval,
                                                          boolean&nbsp;autoUnsubscribe,
                                                          @Nullable
                                                          @Nullable <a href="../../../org/apache/ignite/lang/IgniteBiPredicate.html" title="interface in org.apache.ignite.lang">IgniteBiPredicate</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,T<span class='angle_bracket'>&gt;</span>&nbsp;locLsnr,
                                                          @Nullable
                                                          @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;rmtFilter,
                                                          @Nullable
                                                          int...&nbsp;types)
                                                   throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Adds event listener for specified events to all nodes in the cluster group (possibly including
 local node if it belongs to the cluster group as well). This means that all events occurring on
 any node within this cluster group that pass remote filter will be sent to local node for
 local listener notification.
 <p>
 Supports asynchronous execution (see <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang"><code>IgniteAsyncSupport</code></a>).</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Type of the event.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bufSize</code> - Remote events buffer size. Events from remote nodes won't be sent until buffer
      is full or time interval is exceeded.</dd>
<dd><code>interval</code> - Maximum time interval after which events from remote node will be sent. Events
      from remote nodes won't be sent until buffer is full or time interval is exceeded.</dd>
<dd><code>autoUnsubscribe</code> - Flag indicating that event listeners on remote nodes should be
      automatically unregistered if master node (node that initiated event listening) leaves
      topology. If this flag is <code>false</code>, listeners will be unregistered only when
      <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> method is called, or the <code>'callback (locLsnr)'</code>
      passed in returns <code>false</code>.</dd>
<dd><code>locLsnr</code> - Callback that is called on local node. If this predicate returns <code>true</code>,
      the implementation will continue listening to events. Otherwise, events
      listening will be stopped and listeners will be unregistered on all nodes
      in the cluster group. If <code>null</code>, this events will be handled on remote nodes by
      passed in <code>rmtFilter</code> until local node stops (if <code>'autoUnsubscribe'</code> is <code>true</code>)
      or until <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> is called.</dd>
<dd><code>rmtFilter</code> - Filter callback that is called on remote node. Only events that pass the remote filter
      will be sent to local node. If <code>null</code>, all events of specified types will
      be sent to local node. This remote filter can be used to pre-handle events remotely,
      before they are passed in to local callback. It will be auto-unsubsribed on the node
      where event occurred in case if it returns <code>false</code>.</dd>
<dd><code>types</code> - Types of events to listen for. If not provided, all events that pass the
      provided remote filter will be sent to local node.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Operation ID</code> that can be passed to <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> or
      <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> methods to stop listening.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If failed to add listener.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a>, 
<a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListenAsync-java.util.UUID-"><code>stopRemoteListenAsync(UUID)</code></a></dd>
</dl>
</li>
</ul>
<a name="remoteListenAsync-int-long-boolean-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteListenAsync</h4>
<pre><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;<a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a><span class='angle_bracket'>&gt;</span>&nbsp;remoteListenAsync(int&nbsp;bufSize,
                                                       long&nbsp;interval,
                                                       boolean&nbsp;autoUnsubscribe,
                                                       @Nullable
                                                       @Nullable <a href="../../../org/apache/ignite/lang/IgniteBiPredicate.html" title="interface in org.apache.ignite.lang">IgniteBiPredicate</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,T<span class='angle_bracket'>&gt;</span>&nbsp;locLsnr,
                                                       @Nullable
                                                       @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;rmtFilter,
                                                       @Nullable
                                                       int...&nbsp;types)
                                                throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Asynchronously adds event listener for specified events to all nodes in the cluster group (possibly including
 local node if it belongs to the cluster group as well). This means that all events occurring on
 any node within this cluster group that pass remote filter will be sent to local node for
 local listener notification.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Type of the event.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bufSize</code> - Remote events buffer size. Events from remote nodes won't be sent until buffer
      is full or time interval is exceeded.</dd>
<dd><code>interval</code> - Maximum time interval after which events from remote node will be sent. Events
      from remote nodes won't be sent until buffer is full or time interval is exceeded.</dd>
<dd><code>autoUnsubscribe</code> - Flag indicating that event listeners on remote nodes should be
      automatically unregistered if master node (node that initiated event listening) leaves
      topology. If this flag is <code>false</code>, listeners will be unregistered only when
      <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> method is called, or the <code>'callback (locLsnr)'</code>
      passed in returns <code>false</code>.</dd>
<dd><code>locLsnr</code> - Callback that is called on local node. If this predicate returns <code>true</code>,
      the implementation will continue listening to events. Otherwise, events
      listening will be stopped and listeners will be unregistered on all nodes
      in the cluster group. If <code>null</code>, this events will be handled on remote nodes by
      passed in <code>rmtFilter</code> until local node stops (if <code>'autoUnsubscribe'</code> is <code>true</code>)
      or until <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> is called.</dd>
<dd><code>rmtFilter</code> - Filter callback that is called on remote node. Only events that pass the remote filter
      will be sent to local node. If <code>null</code>, all events of specified types will
      be sent to local node. This remote filter can be used to pre-handle events remotely,
      before they are passed in to local callback. It will be auto-unsubsribed on the node
      where event occurred in case if it returns <code>false</code>.</dd>
<dd><code>types</code> - Types of events to listen for. If not provided, all events that pass the
      provided remote filter will be sent to local node.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Future representing pending completion of the operation. The completed future contains
      <code>Operation ID</code> that can be passed to <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a>
      or <a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a> methods to stop listening.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If failed to add listener.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListen-java.util.UUID-"><code>stopRemoteListen(UUID)</code></a>, 
<a href="../../../org/apache/ignite/IgniteEvents.html#stopRemoteListenAsync-java.util.UUID-"><code>stopRemoteListenAsync(UUID)</code></a></dd>
</dl>
</li>
</ul>
<a name="stopRemoteListen-java.util.UUID-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stopRemoteListen</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteAsyncSupported.html" title="annotation in org.apache.ignite.lang">@IgniteAsyncSupported</a>
void&nbsp;stopRemoteListen(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;opId)
                                     throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Stops listening to remote events. This will unregister all listeners identified with provided
 operation ID on all nodes defined by <a href="../../../org/apache/ignite/IgniteEvents.html#clusterGroup--"><code>clusterGroup()</code></a>.
 <p>
 Supports asynchronous execution (see <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang"><code>IgniteAsyncSupport</code></a>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>opId</code> - Operation ID that was returned from
      <a href="../../../org/apache/ignite/IgniteEvents.html#remoteListen-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-"><code>remoteListen(IgniteBiPredicate, IgnitePredicate, int...)</code></a> method.</dd>
<dt><span class="throwsLabel">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 listeners.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteEvents.html#remoteListen-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-"><code>remoteListen(IgniteBiPredicate, IgnitePredicate, int...)</code></a>, 
<a href="../../../org/apache/ignite/IgniteEvents.html#remoteListenAsync-int-long-boolean-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-"><code>remoteListenAsync(int, long, boolean, IgniteBiPredicate, IgnitePredicate, int...)</code></a></dd>
</dl>
</li>
</ul>
<a name="stopRemoteListenAsync-java.util.UUID-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stopRemoteListenAsync</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a><span class='angle_bracket'>&gt;</span>&nbsp;stopRemoteListenAsync(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;opId)
                                  throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Asynchronously stops listening to remote events. This will unregister all listeners identified with provided
 operation ID on all nodes defined by <a href="../../../org/apache/ignite/IgniteEvents.html#clusterGroup--"><code>clusterGroup()</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>opId</code> - Operation ID that was returned from
      <a href="../../../org/apache/ignite/IgniteEvents.html#remoteListen-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-"><code>remoteListen(IgniteBiPredicate, IgnitePredicate, int...)</code></a> method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Future representing pending completion of the operation.</dd>
<dt><span class="throwsLabel">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 listeners.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteEvents.html#remoteListen-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-"><code>remoteListen(IgniteBiPredicate, IgnitePredicate, int...)</code></a>, 
<a href="../../../org/apache/ignite/IgniteEvents.html#remoteListenAsync-int-long-boolean-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.lang.IgnitePredicate-int...-"><code>remoteListenAsync(int, long, boolean, IgniteBiPredicate, IgnitePredicate, int...)</code></a></dd>
</dl>
</li>
</ul>
<a name="waitForLocal-org.apache.ignite.lang.IgnitePredicate-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitForLocal</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteAsyncSupported.html" title="annotation in org.apache.ignite.lang">@IgniteAsyncSupported</a>
<span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;T&nbsp;waitForLocal(@Nullable
                                                       @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;filter,
                                                       @Nullable
                                                       int...&nbsp;types)
                                                throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Waits for the specified events.
 <p>
 Supports asynchronous execution (see <a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang"><code>IgniteAsyncSupport</code></a>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - Optional filtering predicate. Only if predicates evaluates to <code>true</code> will the event
      end the wait.</dd>
<dd><code>types</code> - Types of the events to wait for. If not provided, all events will be passed to the filter.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Grid event.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If wait was interrupted.</dd>
</dl>
</li>
</ul>
<a name="waitForLocalAsync-org.apache.ignite.lang.IgnitePredicate-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitForLocalAsync</h4>
<pre><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;<a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;waitForLocalAsync(@Nullable
                                                    @Nullable <a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;filter,
                                                    @Nullable
                                                    int...&nbsp;types)
                                             throws <a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Create future to wait for the specified events.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - Optional filtering predicate. Only if predicates evaluates to <code>true</code> will the event
      end the wait.</dd>
<dd><code>types</code> - Types of the events to wait for. If not provided, all events will be passed to the filter.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Future representing pending completion of the operation. The completed future contains grid event.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If wait was interrupted.</dd>
</dl>
</li>
</ul>
<a name="localQuery-org.apache.ignite.lang.IgnitePredicate-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localQuery</h4>
<pre><span class='angle_bracket'>&lt;</span>T extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;localQuery(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;p,
                                           @Nullable
                                           int...&nbsp;types)</pre>
<div class="block">Queries local node for events using passed-in predicate filter for event selection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>p</code> - Predicate to filter events. All predicates must be satisfied for the
      event to be returned.</dd>
<dd><code>types</code> - Event types to be queried.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Collection of grid events found on local node.</dd>
</dl>
</li>
</ul>
<a name="recordLocal-org.apache.ignite.events.Event-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recordLocal</h4>
<pre>void&nbsp;recordLocal(<a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a>&nbsp;evt)</pre>
<div class="block">Records customer user generated event. All registered local listeners will be notified.
 <p>
 NOTE: all types in range <b>from 1 to 1000 are reserved</b> for
 internal Ignite events and should not be used by user-defined events.
 Attempt to record internal event with this method will cause <code>IllegalArgumentException</code>
 to be thrown.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>evt</code> - Locally generated event.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If event type is within Ignite reserved range between <code>1</code> and
      <code>1000</code>.</dd>
</dl>
</li>
</ul>
<a name="localListen-org.apache.ignite.lang.IgnitePredicate-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localListen</h4>
<pre>void&nbsp;localListen(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>? extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;lsnr,
                 int...&nbsp;types)</pre>
<div class="block">Adds an event listener for local events. Note that listener will be added regardless of whether
 local node is in this cluster group or not.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lsnr</code> - Predicate that is called on each received event. If predicate returns <code>false</code>,
      it will be unregistered and will stop receiving events.</dd>
<dd><code>types</code> - Event types for which this listener will be notified.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - Thrown in case when passed in array of event types is empty.</dd>
</dl>
</li>
</ul>
<a name="stopLocalListen-org.apache.ignite.lang.IgnitePredicate-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stopLocalListen</h4>
<pre>boolean&nbsp;stopLocalListen(<a href="../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>? extends <a href="../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>&nbsp;lsnr,
                        @Nullable
                        int...&nbsp;types)</pre>
<div class="block">Removes local event listener.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lsnr</code> - Local event listener to remove.</dd>
<dd><code>types</code> - Types of events for which to remove listener. If not specified,
      then listener will be removed for all types it was registered for.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if listener was removed, <code>false</code> otherwise.</dd>
</dl>
</li>
</ul>
<a name="enableLocal-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enableLocal</h4>
<pre>void&nbsp;enableLocal(int...&nbsp;types)</pre>
<div class="block">Enables provided events. Allows to start recording events that
 were disabled before. Note that specified events will be enabled
 regardless of whether local node is in this cluster group or not.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>types</code> - Events to enable.</dd>
</dl>
</li>
</ul>
<a name="disableLocal-int...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disableLocal</h4>
<pre>void&nbsp;disableLocal(int...&nbsp;types)</pre>
<div class="block">Disables provided events. Allows to stop recording events that
 were enabled before. Note that specified events will be disabled
 regardless of whether local node is in this cluster group or not.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>types</code> - Events to disable.</dd>
</dl>
</li>
</ul>
<a name="enabledEvents--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enabledEvents</h4>
<pre>int[]&nbsp;enabledEvents()</pre>
<div class="block">Gets types of enabled events.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Types of enabled events.</dd>
</dl>
</li>
</ul>
<a name="isEnabled-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEnabled</h4>
<pre>boolean&nbsp;isEnabled(int&nbsp;type)</pre>
<div class="block">Check if event is enabled.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - Event type.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if event of passed in type is enabled.</dd>
</dl>
</li>
</ul>
<a name="withAsync--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>withAsync</h4>
<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
<a href="../../../org/apache/ignite/IgniteEvents.html" title="interface in org.apache.ignite">IgniteEvents</a>&nbsp;withAsync()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Gets instance of this component with asynchronous mode enabled.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html#withAsync--">withAsync</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang">IgniteAsyncSupport</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Instance of this component with asynchronous mode enabled.</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>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<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/IgniteEvents.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/ignite/IgniteDeploymentException.html" title="class in org.apache.ignite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/ignite/IgniteEvents.html" target="_top">Frames</a></li>
<li><a href="IgniteEvents.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;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>2020 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>                                         </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 Database and Caching Platform</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>2.8.1</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             May 21 2020                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
