blob: 74cb9ff9758c2840903c1a5ea512ec9de4f9c529 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_261) on Mon Dec 20 14:15:51 MSK 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DiscoverySpi (Ignite 2.11.1)</title>
<meta name="date" content="2021-12-20">
<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'/>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DiscoverySpi (Ignite 2.11.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":38,"i13":6,"i14":6};
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/DiscoverySpi.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/spi/discovery/DiscoveryNotification.html" title="class in org.apache.ignite.spi.discovery"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.html" title="interface in org.apache.ignite.spi.discovery"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/spi/discovery/DiscoverySpi.html" target="_top">Frames</a></li>
<li><a href="DiscoverySpi.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.spi.discovery</div>
<h2 title="Interface DiscoverySpi" class="title">Interface DiscoverySpi</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/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/ignite/spi/discovery/isolated/IsolatedDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.isolated">IsolatedDiscoverySpi</a>, <a href="../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>, <a href="../../../../../org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.zk">ZookeeperDiscoverySpi</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">DiscoverySpi</span>
extends <a href="../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></pre>
<div class="block">Grid discovery SPI allows to discover remote nodes in grid.
<p>
The default discovery SPI is <a href="../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp"><code>TcpDiscoverySpi</code></a>
with default configuration which allows all nodes in local network
(with enabled multicast) to discover each other.
<p>
Ignite provides the following <code>GridDeploymentSpi</code> implementation:
<ul>
<li><a href="../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp"><code>TcpDiscoverySpi</code></a></li>
</ul>
<b>NOTE:</b> this SPI (i.e. methods in this interface) 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 <a href="../../../../../org/apache/ignite/Ignite.html#configuration--"><code>Ignite.configuration()</code></a> method to check its configuration properties or call other non-SPI
methods. Note again that calling methods from this interface on the obtained instance can lead
to undefined behavior and explicitly not supported.</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>@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#consistentId--">consistentId</a></span>()</code>
<div class="block">Gets consistent ID.</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/spi/discovery/DiscoverySpi.html#disconnect--">disconnect</a></span>()</code>
<div class="block">Tells discovery SPI to disconnect from topology.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#failNode-java.util.UUID-java.lang.String-">failNode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId,
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;warning)</code>
<div class="block">Initiates failure of provided node.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#getGridStartTime--">getGridStartTime</a></span>()</code>
<div class="block">Gets start time of the very first node in the grid.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#getLocalNode--">getLocalNode</a></span>()</code>
<div class="block">Gets local node.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>@Nullable <a href="../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#getNode-java.util.UUID-">getNode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</code>
<div class="block">Gets node by ID.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://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><a href="../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#getRemoteNodes--">getRemoteNodes</a></span>()</code>
<div class="block">Gets collection of remote nodes in grid or empty collection if no remote nodes found.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#isClientMode--">isClientMode</a></span>()</code>
<div class="block">Whether or not discovery is started in client mode.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#pingNode-java.util.UUID-">pingNode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</code>
<div class="block">Pings the remote node to see if it's alive.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#sendCustomEvent-org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage-">sendCustomEvent</a></span>(<a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiCustomMessage</a>&nbsp;msg)</code>
<div class="block">Sends custom message across the ring.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setAuthenticator-org.apache.ignite.spi.discovery.DiscoverySpiNodeAuthenticator-">setAuthenticator</a></span>(<a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiNodeAuthenticator.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiNodeAuthenticator</a>&nbsp;auth)</code>
<div class="block">Sets discovery SPI node authenticator.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setDataExchange-org.apache.ignite.spi.discovery.DiscoverySpiDataExchange-">setDataExchange</a></span>(<a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiDataExchange.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiDataExchange</a>&nbsp;exchange)</code>
<div class="block">Sets a handler for initial data exchange between Ignite nodes.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setListener-org.apache.ignite.spi.discovery.DiscoverySpiListener-">setListener</a></span>(@Nullable <a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiListener.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiListener</a>&nbsp;lsnr)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setMetricsProvider-org.apache.ignite.spi.discovery.DiscoveryMetricsProvider-">setMetricsProvider</a></span>(<a href="../../../../../org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.html" title="interface in org.apache.ignite.spi.discovery">DiscoveryMetricsProvider</a>&nbsp;metricsProvider)</code>
<div class="block">Sets discovery metrics provider.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setNodeAttributes-java.util.Map-org.apache.ignite.lang.IgniteProductVersion-">setNodeAttributes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span>&nbsp;attrs,
<a href="../../../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a>&nbsp;ver)</code>
<div class="block">Sets node attributes and node version which will be distributed in grid during
join process.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpi">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.spi.<a href="../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></h3>
<code><a href="../../../../../org/apache/ignite/spi/IgniteSpi.html#getName--">getName</a>, <a href="../../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes--">getNodeAttributes</a>, <a href="../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a>, <a href="../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientReconnected-boolean-">onClientReconnected</a>, <a href="../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextDestroyed--">onContextDestroyed</a>, <a href="../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</a>, <a href="../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-">spiStart</a>, <a href="../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop--">spiStop</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="consistentId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consistentId</h4>
<pre>@Nullable
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;consistentId()
throws <a href="../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Gets consistent ID.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Consistent ID of this Ignite instance or <code>null</code> if not applicable.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - If failed.</dd>
</dl>
</li>
</ul>
<a name="getRemoteNodes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteNodes</h4>
<pre><a href="https://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><a href="../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a><span class='angle_bracket'>&gt;</span>&nbsp;getRemoteNodes()</pre>
<div class="block">Gets collection of remote nodes in grid or empty collection if no remote nodes found.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Collection of remote nodes.</dd>
</dl>
</li>
</ul>
<a name="getLocalNode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalNode</h4>
<pre><a href="../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;getLocalNode()</pre>
<div class="block">Gets local node.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Local node.</dd>
</dl>
</li>
</ul>
<a name="getNode-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNode</h4>
<pre>@Nullable
@Nullable <a href="../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;getNode(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</pre>
<div class="block">Gets node by ID.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nodeId</code> - Node ID.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Node with given ID or <code>null</code> if node is not found.</dd>
</dl>
</li>
</ul>
<a name="pingNode-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pingNode</h4>
<pre>boolean&nbsp;pingNode(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</pre>
<div class="block">Pings the remote node to see if it's alive.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nodeId</code> - Node Id.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if node alive, <code>false</code> otherwise.</dd>
</dl>
</li>
</ul>
<a name="setNodeAttributes-java.util.Map-org.apache.ignite.lang.IgniteProductVersion-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNodeAttributes</h4>
<pre>void&nbsp;setNodeAttributes(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span>&nbsp;attrs,
<a href="../../../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a>&nbsp;ver)</pre>
<div class="block">Sets node attributes and node version which will be distributed in grid during
join process. Note that these attributes cannot be changed and set only once.
set</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attrs</code> - Map of node attributes.</dd>
<dd><code>ver</code> - Product version.</dd>
</dl>
</li>
</ul>
<a name="setListener-org.apache.ignite.spi.discovery.DiscoverySpiListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setListener</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
void&nbsp;setListener(@Nullable
@Nullable <a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiListener.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiListener</a>&nbsp;lsnr)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Sets a listener for discovery events. Refer to
<a href="../../../../../org/apache/ignite/events/DiscoveryEvent.html" title="class in org.apache.ignite.events"><code>DiscoveryEvent</code></a> for a set of all possible
discovery events.
<p>
<span class='todo'>TODO</span>: This method should be removed from public API in Apache Ignite 3.0</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lsnr</code> - Listener to discovery events or <code>null</code> to unset the listener.</dd>
</dl>
</li>
</ul>
<a name="setDataExchange-org.apache.ignite.spi.discovery.DiscoverySpiDataExchange-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDataExchange</h4>
<pre>void&nbsp;setDataExchange(<a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiDataExchange.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiDataExchange</a>&nbsp;exchange)</pre>
<div class="block">Sets a handler for initial data exchange between Ignite nodes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>exchange</code> - Discovery data exchange handler.</dd>
</dl>
</li>
</ul>
<a name="setMetricsProvider-org.apache.ignite.spi.discovery.DiscoveryMetricsProvider-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMetricsProvider</h4>
<pre>void&nbsp;setMetricsProvider(<a href="../../../../../org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.html" title="interface in org.apache.ignite.spi.discovery">DiscoveryMetricsProvider</a>&nbsp;metricsProvider)</pre>
<div class="block">Sets discovery metrics provider. Use metrics provided by
<a href="../../../../../org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.html#metrics--"><code>DiscoveryMetricsProvider.metrics()</code></a> method to exchange
dynamic metrics between nodes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricsProvider</code> - Provider of metrics data.</dd>
</dl>
</li>
</ul>
<a name="disconnect--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disconnect</h4>
<pre>void&nbsp;disconnect()
throws <a href="../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Tells discovery SPI to disconnect from topology. This is very close to calling
<a href="../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop--"><code>IgniteSpi.spiStop()</code></a> with accounting that it is not a full stop,
but disconnect due to segmentation.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - If any error occurs.</dd>
</dl>
</li>
</ul>
<a name="setAuthenticator-org.apache.ignite.spi.discovery.DiscoverySpiNodeAuthenticator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAuthenticator</h4>
<pre>void&nbsp;setAuthenticator(<a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiNodeAuthenticator.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiNodeAuthenticator</a>&nbsp;auth)</pre>
<div class="block">Sets discovery SPI node authenticator. This method is called before SPI start() method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>auth</code> - Discovery SPI authenticator.</dd>
</dl>
</li>
</ul>
<a name="getGridStartTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGridStartTime</h4>
<pre>long&nbsp;getGridStartTime()</pre>
<div class="block">Gets start time of the very first node in the grid. This value should be the same
on all nodes in the grid and it should not change even if very first node fails
of leaves grid.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Start time of the first node in grid or <code>0</code> if SPI implementation
does not support this method.</dd>
</dl>
</li>
</ul>
<a name="sendCustomEvent-org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendCustomEvent</h4>
<pre>void&nbsp;sendCustomEvent(<a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiCustomMessage</a>&nbsp;msg)
throws <a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Sends custom message across the ring.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Custom message.</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 sent the event message.</dd>
</dl>
</li>
</ul>
<a name="failNode-java.util.UUID-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>failNode</h4>
<pre>void&nbsp;failNode(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId,
@Nullable
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;warning)</pre>
<div class="block">Initiates failure of provided node.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nodeId</code> - Node ID.</dd>
<dd><code>warning</code> - Warning to be shown on all cluster nodes.</dd>
</dl>
</li>
</ul>
<a name="isClientMode--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isClientMode</h4>
<pre>boolean&nbsp;isClientMode()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></pre>
<div class="block">Whether or not discovery is started in client mode.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if node is in client mode.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - If discovery SPI has not started.</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/DiscoverySpi.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/spi/discovery/DiscoveryNotification.html" title="class in org.apache.ignite.spi.discovery"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.html" title="interface in org.apache.ignite.spi.discovery"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/spi/discovery/DiscoverySpi.html" target="_top">Frames</a></li>
<li><a href="DiscoverySpi.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>2021 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.11.1</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; December 20 2021 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>