blob: bcd7685a2c25d6a47f5ae2ad6712d33a64d0a147 [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>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/spi/IgniteSpi.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Generated by javadoc (1.8.0_241) on Thu Oct 15 12:23:33 MSK 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IgniteSpi (Ignite 2.9.0)</title>
<meta name="date" content="2020-10-15">
<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="IgniteSpi (Ignite 2.9.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/IgniteSpi.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/IgnitePortProtocol.html" title="enum in org.apache.ignite.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/spi/IgniteSpi.html" target="_top">Frames</a></li>
<li><a href="IgniteSpi.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</div>
<h2 title="Interface IgniteSpi" class="title">Interface IgniteSpi</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../org/apache/ignite/spi/checkpoint/CheckpointSpi.html" title="interface in org.apache.ignite.spi.checkpoint">CheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a>, <a href="../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>, <a href="../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a>, <a href="../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a>, <a href="../../../../org/apache/ignite/spi/encryption/EncryptionSpi.html" title="interface in org.apache.ignite.spi.encryption">EncryptionSpi</a>, <a href="../../../../org/apache/ignite/spi/eventstorage/EventStorageSpi.html" title="interface in org.apache.ignite.spi.eventstorage">EventStorageSpi</a>, <a href="../../../../org/apache/ignite/spi/failover/FailoverSpi.html" title="interface in org.apache.ignite.spi.failover">FailoverSpi</a>, <a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing">IndexingSpi</a>, <a href="../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing">LoadBalancingSpi</a>, <a href="../../../../org/apache/ignite/spi/metric/MetricExporterSpi.html" title="interface in org.apache.ignite.spi.metric">MetricExporterSpi</a>, <a href="../../../../org/apache/ignite/spi/systemview/SystemViewExporterSpi.html" title="interface in org.apache.ignite.spi.systemview">SystemViewExporterSpi</a>, <a href="../../../../org/apache/ignite/spi/tracing/TracingSpi.html" title="interface in org.apache.ignite.spi.tracing">TracingSpi</a><span class='angle_bracket'>&lt;</span>S<span class='angle_bracket'>&gt;</span></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadBalancingSpi</a>, <a href="../../../../org/apache/ignite/spi/failover/always/AlwaysFailoverSpi.html" title="class in org.apache.ignite.spi.failover.always">AlwaysFailoverSpi</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.cache">CacheCheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpi</a>, <a href="../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.jdbc">JdbcCheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/metric/jmx/JmxMetricExporterSpi.html" title="class in org.apache.ignite.spi.metric.jmx">JmxMetricExporterSpi</a>, <a href="../../../../org/apache/ignite/spi/systemview/jmx/JmxSystemViewExporterSpi.html" title="class in org.apache.ignite.spi.systemview.jmx">JmxSystemViewExporterSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a>, <a href="../../../../org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpi.html" title="class in org.apache.ignite.spi.failover.jobstealing">JobStealingFailoverSpi</a>, <a href="../../../../org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.html" title="class in org.apache.ignite.spi.encryption.keystore">KeystoreEncryptionSpi</a>, <a href="../../../../org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.html" title="class in org.apache.ignite.spi.deployment.local">LocalDeploymentSpi</a>, <a href="../../../../org/apache/ignite/spi/metric/log/LogExporterSpi.html" title="class in org.apache.ignite.spi.metric.log">LogExporterSpi</a>, <a href="../../../../org/apache/ignite/spi/eventstorage/memory/MemoryEventStorageSpi.html" title="class in org.apache.ignite.spi.eventstorage.memory">MemoryEventStorageSpi</a>, <a href="../../../../org/apache/ignite/spi/failover/never/NeverFailoverSpi.html" title="class in org.apache.ignite.spi.failover.never">NeverFailoverSpi</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.noop">NoopCheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/noop/NoopCollisionSpi.html" title="class in org.apache.ignite.spi.collision.noop">NoopCollisionSpi</a>, <a href="../../../../org/apache/ignite/spi/encryption/noop/NoopEncryptionSpi.html" title="class in org.apache.ignite.spi.encryption.noop">NoopEncryptionSpi</a>, <a href="../../../../org/apache/ignite/spi/eventstorage/NoopEventStorageSpi.html" title="class in org.apache.ignite.spi.eventstorage">NoopEventStorageSpi</a>, <a href="../../../../org/apache/ignite/spi/indexing/noop/NoopIndexingSpi.html" title="class in org.apache.ignite.spi.indexing.noop">NoopIndexingSpi</a>, <a href="../../../../org/apache/ignite/spi/metric/noop/NoopMetricExporterSpi.html" title="class in org.apache.ignite.spi.metric.noop">NoopMetricExporterSpi</a>, <a href="../../../../org/apache/ignite/spi/tracing/NoopTracingSpi.html" title="class in org.apache.ignite.spi.tracing">NoopTracingSpi</a>, <a href="../../../../org/apache/ignite/spi/metric/opencensus/OpenCensusMetricExporterSpi.html" title="class in org.apache.ignite.spi.metric.opencensus">OpenCensusMetricExporterSpi</a>, <a href="../../../../org/apache/ignite/spi/tracing/opencensus/OpenCensusTracingSpi.html" title="class in org.apache.ignite.spi.tracing.opencensus">OpenCensusTracingSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>, org.apache.ignite.internal.processors.metric.PushMetricsExporterAdapter, <a href="../../../../org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.roundrobin">RoundRobinLoadBalancingSpi</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.s3">S3CheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.sharedfs">SharedFsCheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/systemview/SqlViewExporterSpi.html" title="class in org.apache.ignite.spi.systemview">SqlViewExporterSpi</a>, <a href="../../../../org/apache/ignite/spi/metric/sql/SqlViewMetricExporterSpi.html" title="class in org.apache.ignite.spi.metric.sql">SqlViewMetricExporterSpi</a>, <a href="../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</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/deployment/uri/UriDeploymentSpi.html" title="class in org.apache.ignite.spi.deployment.uri">UriDeploymentSpi</a>, <a href="../../../../org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.weightedrandom">WeightedRandomLoadBalancingSpi</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">IgniteSpi</span></pre>
<div class="block">This interface defines life-cycle of SPI implementation. Every SPI implementation should implement
this interface. Kernal will not load SPI that doesn't implement this interface.
<p>
Grid SPI's can be injected using IoC (dependency injection)
with ignite resources. Both, field and method based injection are supported.
The following ignite resources can be injected:
<ul>
<li><a href="../../../../org/apache/ignite/resources/LoggerResource.html" title="annotation in org.apache.ignite.resources"><code>LoggerResource</code></a></li>
<li><a href="../../../../org/apache/ignite/resources/SpringApplicationContextResource.html" title="annotation in org.apache.ignite.resources"><code>SpringApplicationContextResource</code></a></li>
<li><a href="../../../../org/apache/ignite/resources/SpringResource.html" title="annotation in org.apache.ignite.resources"><code>SpringResource</code></a></li>
</ul>
Refer to corresponding resource documentation for more information.</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></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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#getName--">getName</a></span>()</code>
<div class="block">Gets SPI name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes--">getNodeAttributes</a></span>()</code>
<div class="block">This method is called before SPI starts (before method <a href="../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-"><code>spiStart(String)</code></a>
is called).</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/IgniteSpi.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a></span>(<a href="../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;reconnectFut)</code>
<div class="block">Client node disconnected callback.</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/spi/IgniteSpi.html#onClientReconnected-boolean-">onClientReconnected</a></span>(boolean&nbsp;clusterRestarted)</code>
<div class="block">Client node reconnected callback.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#onContextDestroyed--">onContextDestroyed</a></span>()</code>
<div class="block">Callback invoked prior to stopping grid before SPI context is destroyed.</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/spi/IgniteSpi.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</a></span>(<a href="../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;spiCtx)</code>
<div class="block">Callback invoked when SPI context is initialized.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-">spiStart</a></span>(@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;igniteInstanceName)</code>
<div class="block">This method is called to start SPI.</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/spi/IgniteSpi.html#spiStop--">spiStop</a></span>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</tr>
</table>
</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="getName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre><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;getName()</pre>
<div class="block">Gets SPI name.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SPI name.</dd>
</dl>
</li>
</ul>
<a name="getNodeAttributes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeAttributes</h4>
<pre><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;getNodeAttributes()
throws <a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called before SPI starts (before method <a href="../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-"><code>spiStart(String)</code></a>
is called). It allows SPI implementation to add attributes to a local
node. Kernal collects these attributes from all SPI implementations
loaded up and then passes it to discovery SPI so that they can be
exchanged with other nodes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map of local node attributes this SPI wants to add.</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> - Throws in case of any error.</dd>
</dl>
</li>
</ul>
<a name="spiStart-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStart</h4>
<pre>void&nbsp;spiStart(@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;igniteInstanceName)
throws <a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to start SPI. After this method returns
successfully kernel assumes that SPI is fully operational.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>igniteInstanceName</code> - Name of Ignite instance this SPI is being started for
(<code>null</code> for default Ignite instance).</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> - Throws in case of any error during SPI start.</dd>
</dl>
</li>
</ul>
<a name="onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContextInitialized</h4>
<pre>void&nbsp;onContextInitialized(<a href="../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;spiCtx)
throws <a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Callback invoked when SPI context is initialized. SPI implementation
may store SPI context for future access.
<p>
This method is invoked after <a href="../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-"><code>spiStart(String)</code></a> method is
completed, so SPI should be fully functional at this point. Use this
method for post-start initialization, such as subscribing a discovery
listener, sending a message to remote node, etc...</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>spiCtx</code> - Spi context.</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 context initialization failed (grid will be stopped).</dd>
</dl>
</li>
</ul>
<a name="onContextDestroyed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContextDestroyed</h4>
<pre>void&nbsp;onContextDestroyed()</pre>
<div class="block">Callback invoked prior to stopping grid before SPI context is destroyed.
Once this method is complete, grid will begin shutdown sequence. Use this
callback for de-initialization logic that may involve SPI context. Note that
invoking SPI context after this callback is complete is considered
illegal and may produce unknown results.
<p>
If <a href="../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi"><code>IgniteSpiAdapter</code></a> is used for SPI implementation, then it will
replace actual context with dummy no-op context which is usually good-enough
since grid is about to shut down.</div>
</li>
</ul>
<a name="spiStop--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStop</h4>
<pre>void&nbsp;spiStop()
throws <a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to stop SPI. After this method returns kernel
assumes that this SPI is finished and all resources acquired by it
are released.
<p>
<b>
Note that this method can be called at any point including during
recovery of failed start. It should make no assumptions on what state SPI
will be in when this method is called.
</b></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> - Thrown in case of any error during SPI stop.</dd>
</dl>
</li>
</ul>
<a name="onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onClientDisconnected</h4>
<pre>void&nbsp;onClientDisconnected(<a href="../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;reconnectFut)</pre>
<div class="block">Client node disconnected callback.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reconnectFut</code> - Future that will be completed when client reconnected.</dd>
</dl>
</li>
</ul>
<a name="onClientReconnected-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onClientReconnected</h4>
<pre>void&nbsp;onClientReconnected(boolean&nbsp;clusterRestarted)</pre>
<div class="block">Client node reconnected callback.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clusterRestarted</code> - <code>True</code> if all cluster nodes restarted while client was disconnected.</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/IgniteSpi.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/IgnitePortProtocol.html" title="enum in org.apache.ignite.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/spi/IgniteSpi.html" target="_top">Frames</a></li>
<li><a href="IgniteSpi.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.9.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; October 15 2020 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>