blob: 8e4417d363253c41317b8885a634b1869f748fe6 [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_291) on Mon Jan 10 11:05:27 MSK 2022 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ClusterNode (Ignite 2.12.0)</title>
<meta name="date" content="2022-01-10">
<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="ClusterNode (Ignite 2.12.0)";
}
}
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};
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/ClusterNode.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/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/cluster/ClusterNode.html" target="_top">Frames</a></li>
<li><a href="ClusterNode.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.cluster</div>
<h2 title="Interface ClusterNode" class="title">Interface ClusterNode</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/cluster/BaselineNode.html" title="interface in org.apache.ignite.cluster">BaselineNode</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/ignite/spi/discovery/isolated/IsolatedNode.html" title="class in org.apache.ignite.spi.discovery.isolated">IsolatedNode</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ClusterNode</span>
extends <a href="../../../../org/apache/ignite/cluster/BaselineNode.html" title="interface in org.apache.ignite.cluster">BaselineNode</a></pre>
<div class="block">Interface representing a single cluster node. Use <a href="../../../../org/apache/ignite/cluster/ClusterNode.html#attribute-java.lang.String-"><code>attribute(String)</code></a> or
<a href="../../../../org/apache/ignite/cluster/ClusterNode.html#metrics--"><code>metrics()</code></a> to get static and dynamic information about cluster nodes.
<code>ClusterNode</code> list, which includes all nodes within task topology, is provided
to <a href="../../../../org/apache/ignite/compute/ComputeTask.html#map-java.util.List-T-"><code>ComputeTask.map(List, Object)</code></a> method.
<p>
<h1 class="header">Cluster Node Attributes</h1>
You can use cluster node attributes to provide static information about a node.
This information is initialized once within a cluster, during the node startup, and
remains the same throughout the lifetime of a node. Use
<a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getUserAttributes--"><code>IgniteConfiguration.getUserAttributes()</code></a> method to initialize your custom
node attributes at startup. Here is an example of how to assign an attribute to a node at startup:
<pre name="code" class="xml">
&lt;bean class="org.apache.ignite.configuration.IgniteConfiguration">
...
&lt;property name="userAttributes">
&lt;map>
&lt;entry key="worker" value="true"/>
&lt;/map>
&lt;/property>
...
&lt;/bean&gt;
</pre>
<p>
The system adds the following attributes automatically:
<ul>
<li><code>{@link System#getProperties()}</code> - All system properties.</li>
<li><code>{@link System#getenv(String)}</code> - All environment properties.</li>
<li><code>org.ignite.build.ver</code> - Ignite build version.</li>
<li><code>org.apache.ignite.jit.name</code> - Name of JIT compiler used.</li>
<li><code>org.apache.ignite.net.itf.name</code> - Name of network interface.</li>
<li><code>org.apache.ignite.user.name</code> - Operating system user name.</li>
<li><code>org.apache.ignite.ignite.name</code> - Ignite name (see <a href="../../../../org/apache/ignite/Ignite.html#name--"><code>Ignite.name()</code></a>).</li>
<li>
<code>spiName.org.apache.ignite.spi.class</code> - SPI implementation class for every SPI,
where <code>spiName</code> is the name of the SPI (see <a href="../../../../org/apache/ignite/spi/IgniteSpi.html#getName--"><code>IgniteSpi.getName()</code></a>.
</li>
<li>
<code>spiName.org.apache.ignite.spi.ver</code> - SPI version for every SPI,
where <code>spiName</code> is the name of the SPI (see <a href="../../../../org/apache/ignite/spi/IgniteSpi.html#getName--"><code>IgniteSpi.getName()</code></a>.
</li>
</ul>
<p>
Note that all System and Environment properties for all nodes are automatically included
into node attributes. This gives you an ability to get any information specified
in <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#getProperties--" title="class or interface in java.lang"><code>System.getProperties()</code></a> about any node. So for example, in order to print out
information about Operating System for all nodes you would do the following:
<pre name="code" class="java">
for (ClusterNode node : ignite.cluster().nodes()) {
System.out.println("Operating system name: " + node.getAttribute("os.name"));
System.out.println("Operating system architecture: " + node.getAttribute("os.arch"));
System.out.println("Operating system version: " + node.getAttribute("os.version"));
}
</pre>
<p>
<h1 class="header">Cluster Node Metrics</h1>
Cluster node metrics (see <a href="../../../../org/apache/ignite/cluster/ClusterNode.html#metrics--"><code>metrics()</code></a>) are updated frequently for all nodes
and can be used to get dynamic information about a node. The frequency of update
is controlled by <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsUpdateFrequency--"><code>IgniteConfiguration.getMetricsUpdateFrequency()</code></a> parameter.
The metrics data will be updated every <code>2</code> seconds by default.
<p>
Grid node metrics provide information that can frequently change,
such as Heap and Non-Heap memory utilization, CPU load, number of active and waiting
grid jobs, etc... This information can become useful during job collision resolution or
<a href="../../../../org/apache/ignite/compute/ComputeTask.html#map-java.util.List-T-"><code>ComputeTask.map(List, Object)</code></a> operation when jobs are
assigned to remote nodes for execution.
<p>
Local node metrics are registered as <code>MBean</code> and can be accessed from
any JMX management console. The simplest way is to use standard <code>jconsole</code>
that comes with JDK as it also provides ability to view any node parameter
as a graph.</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/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</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><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/cluster/ClusterNode.html#addresses--">addresses</a></span>()</code>
<div class="block">Gets collection of addresses this node is known by.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/cluster/ClusterNode.html#attribute-java.lang.String-">attribute</a></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>&nbsp;name)</code>
<div class="block">Gets a node attribute.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<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/cluster/ClusterNode.html#attributes--">attributes</a></span>()</code>
<div class="block">Gets all node attributes.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/cluster/ClusterNode.html#consistentId--">consistentId</a></span>()</code>
<div class="block">Gets consistent globally unique node ID.</div>
</td>
</tr>
<tr id="i4" 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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/cluster/ClusterNode.html#hostNames--">hostNames</a></span>()</code>
<div class="block">Gets collection of host names this node is known by.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/cluster/ClusterNode.html#id--">id</a></span>()</code>
<div class="block">Gets globally unique node ID.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/cluster/ClusterNode.html#isClient--">isClient</a></span>()</code>
<div class="block">Whether this node is cache client (see <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isClientMode--"><code>IgniteConfiguration.isClientMode()</code></a>).</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/cluster/ClusterNode.html#isDaemon--">isDaemon</a></span>()</code>
<div class="block">Tests whether or not this node is a daemon.</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/cluster/ClusterNode.html#isLocal--">isLocal</a></span>()</code>
<div class="block">Tests whether or not this node is a local node.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/cluster/ClusterNode.html#metrics--">metrics</a></span>()</code>
<div class="block">Gets metrics snapshot for this node.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/cluster/ClusterNode.html#order--">order</a></span>()</code>
<div class="block">Node order within grid topology.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/cluster/ClusterNode.html#version--">version</a></span>()</code>
<div class="block">Gets node version.</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="id--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>id</h4>
<pre><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;id()</pre>
<div class="block">Gets globally unique node ID. A new ID is generated every time a node restarts.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Globally unique node ID.</dd>
</dl>
</li>
</ul>
<a name="consistentId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consistentId</h4>
<pre><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>&nbsp;consistentId()</pre>
<div class="block">Gets consistent globally unique node ID. Unlike <a href="../../../../org/apache/ignite/cluster/ClusterNode.html#id--"><code>id()</code></a> method,
this method returns consistent node ID which survives node restarts.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/BaselineNode.html#consistentId--">consistentId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/BaselineNode.html" title="interface in org.apache.ignite.cluster">BaselineNode</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Consistent globally unique node ID.</dd>
</dl>
</li>
</ul>
<a name="attribute-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>attribute</h4>
<pre>@Nullable
<span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;T&nbsp;attribute(<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;name)</pre>
<div class="block">Gets a node attribute. Attributes are assigned to nodes at startup
via <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getUserAttributes--"><code>IgniteConfiguration.getUserAttributes()</code></a> method.
<p>
The system adds the following attributes automatically:
<ul>
<li><code>{@link System#getProperties()}</code> - All system properties.</li>
<li><code>{@link System#getenv(String)}</code> - All environment properties.</li>
<li>All attributes defined in <code>IgniteNodeAttributes</code></li>
</ul>
<p>
Note that attributes cannot be changed at runtime.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/BaselineNode.html#attribute-java.lang.String-">attribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/BaselineNode.html" title="interface in org.apache.ignite.cluster">BaselineNode</a></code></dd>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Attribute Type.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - Attribute name. <b>Note</b> that attribute names starting with
<code>org.apache.ignite</code> are reserved for internal use.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Attribute value or <code>null</code>.</dd>
</dl>
</li>
</ul>
<a name="metrics--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metrics</h4>
<pre><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a>&nbsp;metrics()</pre>
<div class="block">Gets metrics snapshot for this node. Note that node metrics are constantly updated
and provide up to date information about nodes. For example, you can get
an idea about CPU load on remote node via <a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentCpuLoad--"><code>ClusterMetrics.getCurrentCpuLoad()</code></a>
method and use it during <a href="../../../../org/apache/ignite/compute/ComputeTask.html#map-java.util.List-T-"><code>ComputeTask.map(List, Object)</code></a> or during collision
resolution.
<p>
Node metrics are updated with some delay which is controlled by
<a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsUpdateFrequency--"><code>IgniteConfiguration.getMetricsUpdateFrequency()</code></a> parameter.
By default the update will happen every <code>2</code> seconds.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Runtime metrics snapshot for this node.</dd>
</dl>
</li>
</ul>
<a name="attributes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>attributes</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;attributes()</pre>
<div class="block">Gets all node attributes. Attributes are assigned to nodes at startup
via <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getUserAttributes--"><code>IgniteConfiguration.getUserAttributes()</code></a> method.
<p>
The system adds the following attributes automatically:
<ul>
<li><code>{@link System#getProperties()}</code> - All system properties.</li>
<li><code>{@link System#getenv(String)}</code> - All environment properties.</li>
<li>All attributes defined in <code>IgniteNodeAttributes</code></li>
</ul>
<p>
Note that attributes cannot be changed at runtime.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/BaselineNode.html#attributes--">attributes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/BaselineNode.html" title="interface in org.apache.ignite.cluster">BaselineNode</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>All node attributes.</dd>
</dl>
</li>
</ul>
<a name="addresses--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addresses</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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a><span class='angle_bracket'>&gt;</span>&nbsp;addresses()</pre>
<div class="block">Gets collection of addresses this node is known by.
<p>
If <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLocalHost--"><code>IgniteConfiguration.getLocalHost()</code></a> value isn't <code>null</code> node will try to use that
address for all communications and returned collection will contain only that address.
If it is <code>null</code> then local wildcard address will be used, and Ignite
will make the best effort to supply all addresses of that node in returned collection.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Collection of addresses.</dd>
</dl>
</li>
</ul>
<a name="hostNames--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hostNames</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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a><span class='angle_bracket'>&gt;</span>&nbsp;hostNames()</pre>
<div class="block">Gets collection of host names this node is known by.
<p>
If <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLocalHost--"><code>IgniteConfiguration.getLocalHost()</code></a> value isn't <code>null</code> node will try to use
the host name of that resolved address for all communications and
returned collection will contain only that host name.
If that host name can not be resolved then ip address returned by method <a href="../../../../org/apache/ignite/cluster/ClusterNode.html#addresses--"><code>addresses()</code></a> is used.
<p>
If <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLocalHost--"><code>IgniteConfiguration.getLocalHost()</code></a> value is <code>null</code> then local wildcard address will be used,
and this method returns host names of all addresses of that node.
<p>
Note: the loopback address will be omitted in results.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Collection of host names.</dd>
</dl>
</li>
</ul>
<a name="order--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>order</h4>
<pre>long&nbsp;order()</pre>
<div class="block">Node order within grid topology. Discovery SPIs that support node ordering will
assign a proper order to each node and will guarantee that discovery event notifications
for new nodes will come in proper order. All other SPIs not supporting ordering
may choose to return node startup time here.
<p>
<b>NOTE</b>: in cases when discovery SPI doesn't support ordering Ignite cannot
guarantee that orders on all nodes will be unique or chronologically correct.
If such guarantee is required - make sure use discovery SPI that provides ordering.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Node startup order.</dd>
</dl>
</li>
</ul>
<a name="version--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>version</h4>
<pre><a href="../../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a>&nbsp;version()</pre>
<div class="block">Gets node version.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Node version.</dd>
</dl>
</li>
</ul>
<a name="isLocal--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLocal</h4>
<pre>boolean&nbsp;isLocal()</pre>
<div class="block">Tests whether or not this node is a local node.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if this node is a local node, <code>false</code> otherwise.</dd>
</dl>
</li>
</ul>
<a name="isDaemon--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDaemon</h4>
<pre>boolean&nbsp;isDaemon()</pre>
<div class="block">Tests whether or not this node is a daemon.
<p>
Daemon nodes are the usual cluster nodes that participate in topology but are not
visible on the main APIs, i.e. they are not part of any cluster group. The only
way to see daemon nodes is to use <a href="../../../../org/apache/ignite/cluster/ClusterGroup.html#forDaemons--"><code>ClusterGroup.forDaemons()</code></a> method.
<p>
Daemon nodes are used primarily for management and monitoring functionality that
is build on Ignite and needs to participate in the topology, but should be
excluded from the "normal" topology, so that they won't participate in the task execution
or data grid operations.
<p>
Application code should never use daemon nodes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if this node is a daemon, <code>false</code> otherwise.</dd>
</dl>
</li>
</ul>
<a name="isClient--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isClient</h4>
<pre>boolean&nbsp;isClient()</pre>
<div class="block">Whether this node is cache client (see <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isClientMode--"><code>IgniteConfiguration.isClientMode()</code></a>).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True if client</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isClientMode--"><code>IgniteConfiguration.isClientMode()</code></a></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/ClusterNode.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/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/ignite/cluster/ClusterStartNodeResult.html" title="interface in org.apache.ignite.cluster"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/cluster/ClusterNode.html" target="_top">Frames</a></li>
<li><a href="ClusterNode.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>2022 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.12.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; January 10 2022 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>