blob: 49e1b29a133ee973bd9e5f352fa717bff7859af2 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ClusteringAgent (Apache Axis2)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ClusteringAgent (Apache Axis2)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6};
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";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ClusteringAgent.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" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.axis2.clustering</a></div>
<h2 title="Interface ClusteringAgent" class="title">Interface ClusteringAgent</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="../description/ParameterInclude.html" title="interface in org.apache.axis2.description">ParameterInclude</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="tribes/TribesClusteringAgent.html" title="class in org.apache.axis2.clustering.tribes">TribesClusteringAgent</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ClusteringAgent</span>
extends <a href="../description/ParameterInclude.html" title="interface in org.apache.axis2.description">ParameterInclude</a></pre>
<div class="block"><p>
This is the main interface in the Axis2 clustering implementation.
In order to plug-in a new clustering implementation, this interface has to be
implemented.
</p>
<p>
The initilization of a node in the cluster is handled here. It is also responsible for getting
this node to join the cluster. This node should not process any Web services requests until it
successfully joins the cluster. Generally, this node will also need to obtain the state
information and/or configuration information from a neighboring node.
This interface is also responsible for
properly instantiating a <a href="state/StateManager.html" title="interface in org.apache.axis2.clustering.state"><code>StateManager</code></a> &
<a href="management/NodeManager.html" title="interface in org.apache.axis2.clustering.management"><code>NodeManager</code></a>. In the case of
a static <a href="http://blog.afkham.org/2008/05/group-membership-management-schemes.html">
membership scheme</a>,
this members are read from the axis2.xml file and added to the ClusteringAgent.
</p>
<p>
In the axis2.xml, the instance of this interface is specified using the "clustering"
class attribute.
e.g.
<code><b>
<nobr>&lt;clustering class="org.apache.axis2.clustering.tribes.TribesClusterAgent"&gt;</nobr>
</b>
</code>
specifies that the TribesClusterAgent class is the instance of this interface that
needs to be used.
</p>
<p>
There can also be several "parameter" elements, which are children of the "clustering" element
in the axis2.xml file. Generally, these parameters will be specific to the ClusteringAgent
implementation.
</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addGroupManagementAgent(org.apache.axis2.clustering.management.GroupManagementAgent,java.lang.String)">addGroupManagementAgent</a></span>&#8203;(<a href="management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;agent,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationDomain)</code></th>
<td class="colLast">
<div class="block">Set the load balance event handler which will be notified when load balance events occur.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addGroupManagementAgent(org.apache.axis2.clustering.management.GroupManagementAgent,java.lang.String,java.lang.String)">addGroupManagementAgent</a></span>&#8203;(<a href="management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;agent,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationDomain,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationSubDomain)</code></th>
<td class="colLast">
<div class="block">Add a GroupManagementAgent to an application domain + sub-domain</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#finalize()">finalize</a></span>()</code></th>
<td class="colLast">
<div class="block">Do cleanup & leave the cluster</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAliveMemberCount()">getAliveMemberCount</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the number of members alive.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDomains()">getDomains</a></span>()</code></th>
<td class="colLast">
<div class="block">Get all the domains that this ClusteringAgent belongs to</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGroupManagementAgent(java.lang.String)">getGroupManagementAgent</a></span>&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationDomain)</code></th>
<td class="colLast">
<div class="block">Get the GroupManagementAgent which corresponds to the <code>applicationDomain</code>
This will be valid only when this node is running in groupManagement</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGroupManagementAgent(java.lang.String,java.lang.String)">getGroupManagementAgent</a></span>&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationDomain,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationSubDomain)</code></th>
<td class="colLast">
<div class="block">Get the GroupManagementAgent which corresponds to the <code>applicationDomain + sub-domain</code></div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="Member.html" title="class in org.apache.axis2.clustering">Member</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMembers()">getMembers</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the list of members in a
<a href="http://blog.afkham.org/2008/05/group-membership-management-schemes.html">
static group
</a></div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="management/NodeManager.html" title="interface in org.apache.axis2.clustering.management">NodeManager</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNodeManager()">getNodeManager</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="state/StateManager.html" title="interface in org.apache.axis2.clustering.state">StateManager</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStateManager()">getStateManager</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#init()">init</a></span>()</code></th>
<td class="colLast">
<div class="block">Initialize this node, and join the cluster</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCoordinator()">isCoordinator</a></span>()</code></th>
<td class="colLast">
<div class="block">Checks whether this member is the coordinator for the cluster</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="ClusteringCommand.html" title="class in org.apache.axis2.clustering">ClusteringCommand</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendMessage(org.apache.axis2.clustering.ClusteringMessage,boolean)">sendMessage</a></span>&#8203;(<a href="ClusteringMessage.html" title="class in org.apache.axis2.clustering">ClusteringMessage</a>&nbsp;msg,
boolean&nbsp;isRpcMessage)</code></th>
<td class="colLast">
<div class="block">Send a message to all members in this member's primary cluster</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setConfigurationContext(org.apache.axis2.context.ConfigurationContext)">setConfigurationContext</a></span>&#8203;(<a href="../context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;configurationContext)</code></th>
<td class="colLast">
<div class="block">Set the system's configuration context.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMembers(java.util.List)">setMembers</a></span>&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="Member.html" title="class in org.apache.axis2.clustering">Member</a>&gt;&nbsp;members)</code></th>
<td class="colLast">
<div class="block">Set the static members of the cluster.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setNodeManager(org.apache.axis2.clustering.management.NodeManager)">setNodeManager</a></span>&#8203;(<a href="management/NodeManager.html" title="interface in org.apache.axis2.clustering.management">NodeManager</a>&nbsp;nodeManager)</code></th>
<td class="colLast">
<div class="block">Set the NodeManager corresponding to this ClusteringAgent.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setStateManager(org.apache.axis2.clustering.state.StateManager)">setStateManager</a></span>&#8203;(<a href="state/StateManager.html" title="interface in org.apache.axis2.clustering.state">StateManager</a>&nbsp;stateManager)</code></th>
<td class="colLast">
<div class="block">Set the StateManager corresponding to this ClusteringAgent.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shutdown()">shutdown</a></span>()</code></th>
<td class="colLast">
<div class="block">Disconnect this node from the cluster.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.axis2.description.ParameterInclude">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.axis2.description.<a href="../description/ParameterInclude.html" title="interface in org.apache.axis2.description">ParameterInclude</a></h3>
<code><a href="../description/ParameterInclude.html#addParameter(org.apache.axis2.description.Parameter)">addParameter</a>, <a href="../description/ParameterInclude.html#deserializeParameters(org.apache.axiom.om.OMElement)">deserializeParameters</a>, <a href="../description/ParameterInclude.html#getParameter(java.lang.String)">getParameter</a>, <a href="../description/ParameterInclude.html#getParameters()">getParameters</a>, <a href="../description/ParameterInclude.html#isParameterLocked(java.lang.String)">isParameterLocked</a>, <a href="../description/ParameterInclude.html#removeParameter(org.apache.axis2.description.Parameter)">removeParameter</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="init()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre class="methodSignature">void&nbsp;init()
throws <a href="ClusteringFault.html" title="class in org.apache.axis2.clustering">ClusteringFault</a></pre>
<div class="block">Initialize this node, and join the cluster</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="ClusteringFault.html" title="class in org.apache.axis2.clustering">ClusteringFault</a></code> - If an error occurs while initializing this node or joining the cluster</dd>
</dl>
</li>
</ul>
<a id="finalize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finalize</h4>
<pre class="methodSignature">void&nbsp;finalize()</pre>
<div class="block">Do cleanup & leave the cluster</div>
</li>
</ul>
<a id="getStateManager()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStateManager</h4>
<pre class="methodSignature"><a href="state/StateManager.html" title="interface in org.apache.axis2.clustering.state">StateManager</a>&nbsp;getStateManager()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The StateManager</dd>
</dl>
</li>
</ul>
<a id="getNodeManager()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeManager</h4>
<pre class="methodSignature"><a href="management/NodeManager.html" title="interface in org.apache.axis2.clustering.management">NodeManager</a>&nbsp;getNodeManager()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The NodeManager</dd>
</dl>
</li>
</ul>
<a id="setStateManager(org.apache.axis2.clustering.state.StateManager)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStateManager</h4>
<pre class="methodSignature">void&nbsp;setStateManager&#8203;(<a href="state/StateManager.html" title="interface in org.apache.axis2.clustering.state">StateManager</a>&nbsp;stateManager)</pre>
<div class="block">Set the StateManager corresponding to this ClusteringAgent. This is an optional attribute.
We can have a cluster with no context replication, in which case the contextManager will be
null. This value is set by the <a href="../deployment/ClusterBuilder.html" title="class in org.apache.axis2.deployment"><code>ClusterBuilder</code></a>, by
reading the "contextManager" element in the axis2.xml
<p/>
e.g.
<code>
<b>
<contextManager class="org.apache.axis2.cluster.configuration.TribesContextManager">
</b>
</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stateManager</code> - The StateManager instance</dd>
</dl>
</li>
</ul>
<a id="setNodeManager(org.apache.axis2.clustering.management.NodeManager)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNodeManager</h4>
<pre class="methodSignature">void&nbsp;setNodeManager&#8203;(<a href="management/NodeManager.html" title="interface in org.apache.axis2.clustering.management">NodeManager</a>&nbsp;nodeManager)</pre>
<div class="block">Set the NodeManager corresponding to this ClusteringAgent. This is an optional attribute.
We can have a cluster with no configuration management, in which case the configurationManager
will be null. This value is set by the <a href="../deployment/ClusterBuilder.html" title="class in org.apache.axis2.deployment"><code>ClusterBuilder</code></a>, by
reading the "configurationManager" element in the axis2.xml
<p/>
e.g.
<code>
<b>
<configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
</b>
</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nodeManager</code> - The NodeManager instance</dd>
</dl>
</li>
</ul>
<a id="shutdown()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
<pre class="methodSignature">void&nbsp;shutdown()
throws <a href="ClusteringFault.html" title="class in org.apache.axis2.clustering">ClusteringFault</a></pre>
<div class="block">Disconnect this node from the cluster. This node will no longer receive membership change
notifications, state change messages or configuration change messages. The node will be "
"standing alone" once it is shutdown. However, it has to continue to process Web service
requests.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="ClusteringFault.html" title="class in org.apache.axis2.clustering">ClusteringFault</a></code> - If an error occurs while leaving the cluster</dd>
</dl>
</li>
</ul>
<a id="setConfigurationContext(org.apache.axis2.context.ConfigurationContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConfigurationContext</h4>
<pre class="methodSignature">void&nbsp;setConfigurationContext&#8203;(<a href="../context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;configurationContext)</pre>
<div class="block">Set the system's configuration context. This will be used by the clustering implementations
to get information about the Axis2 environment and to correspond with the Axis2 environment</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configurationContext</code> - The configuration context</dd>
</dl>
</li>
</ul>
<a id="setMembers(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMembers</h4>
<pre class="methodSignature">void&nbsp;setMembers&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="Member.html" title="class in org.apache.axis2.clustering">Member</a>&gt;&nbsp;members)</pre>
<div class="block">Set the static members of the cluster. This is used only with
<a href="http://blog.afkham.org/2008/05/group-membership-management-schemes.html">
static group membership </a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>members</code> - Members to be added</dd>
</dl>
</li>
</ul>
<a id="getMembers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMembers</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="Member.html" title="class in org.apache.axis2.clustering">Member</a>&gt;&nbsp;getMembers()</pre>
<div class="block">Get the list of members in a
<a href="http://blog.afkham.org/2008/05/group-membership-management-schemes.html">
static group
</a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The members if static group membership is used. If any other membership scheme is used,
the values returned may not be valid</dd>
</dl>
</li>
</ul>
<a id="getAliveMemberCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAliveMemberCount</h4>
<pre class="methodSignature">int&nbsp;getAliveMemberCount()</pre>
<div class="block">Get the number of members alive.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of members alive.</dd>
</dl>
</li>
</ul>
<a id="addGroupManagementAgent(org.apache.axis2.clustering.management.GroupManagementAgent,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addGroupManagementAgent</h4>
<pre class="methodSignature">void&nbsp;addGroupManagementAgent&#8203;(<a href="management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;agent,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationDomain)</pre>
<div class="block">Set the load balance event handler which will be notified when load balance events occur.
This will be valid only when this node is running in loadBalance mode</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>agent</code> - The GroupManagementAgent to be added</dd>
<dd><code>applicationDomain</code> - The application domain which is handled by the GroupManagementAgent</dd>
</dl>
</li>
</ul>
<a id="addGroupManagementAgent(org.apache.axis2.clustering.management.GroupManagementAgent,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addGroupManagementAgent</h4>
<pre class="methodSignature">void&nbsp;addGroupManagementAgent&#8203;(<a href="management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;agent,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationDomain,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationSubDomain)</pre>
<div class="block">Add a GroupManagementAgent to an application domain + sub-domain</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>agent</code> - The GroupManagementAgent to be added</dd>
<dd><code>applicationDomain</code> - The application domain which is handled by the GroupManagementAgent</dd>
<dd><code>applicationSubDomain</code> - The application sub-domain which is handled by the GroupManagementAgent</dd>
</dl>
</li>
</ul>
<a id="getGroupManagementAgent(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupManagementAgent</h4>
<pre class="methodSignature"><a href="management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;getGroupManagementAgent&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationDomain)</pre>
<div class="block">Get the GroupManagementAgent which corresponds to the <code>applicationDomain</code>
This will be valid only when this node is running in groupManagement</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationDomain</code> - The application domain to which the application nodes being
load balanced belong to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>GroupManagementAgent which corresponds to the <code>applicationDomain</code></dd>
</dl>
</li>
</ul>
<a id="getGroupManagementAgent(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupManagementAgent</h4>
<pre class="methodSignature"><a href="management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;getGroupManagementAgent&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationDomain,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;applicationSubDomain)</pre>
<div class="block">Get the GroupManagementAgent which corresponds to the <code>applicationDomain + sub-domain</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationDomain</code> - The application domain which is handled by the GroupManagementAgent</dd>
<dd><code>applicationSubDomain</code> - The application sub-domain which is handled by the GroupManagementAgent</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>GroupManagementAgent which corresponds to the <code>applicationDomain + sub-domain</code></dd>
</dl>
</li>
</ul>
<a id="getDomains()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDomains</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;getDomains()</pre>
<div class="block">Get all the domains that this ClusteringAgent belongs to</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the domains of this ClusteringAgent</dd>
</dl>
</li>
</ul>
<a id="isCoordinator()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCoordinator</h4>
<pre class="methodSignature">boolean&nbsp;isCoordinator()</pre>
<div class="block">Checks whether this member is the coordinator for the cluster</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this member is the coordinator, and false otherwise</dd>
</dl>
</li>
</ul>
<a id="sendMessage(org.apache.axis2.clustering.ClusteringMessage,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sendMessage</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="ClusteringCommand.html" title="class in org.apache.axis2.clustering">ClusteringCommand</a>&gt;&nbsp;sendMessage&#8203;(<a href="ClusteringMessage.html" title="class in org.apache.axis2.clustering">ClusteringMessage</a>&nbsp;msg,
boolean&nbsp;isRpcMessage)
throws <a href="ClusteringFault.html" title="class in org.apache.axis2.clustering">ClusteringFault</a></pre>
<div class="block">Send a message to all members in this member's primary cluster</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - The message to be sent</dd>
<dd><code>isRpcMessage</code> - Indicates whether the message has to be sent in RPC mode</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A list of responses if the message is sent in RPC mode</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="ClusteringFault.html" title="class in org.apache.axis2.clustering">ClusteringFault</a></code> - If an error occurs while sending the message</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ClusteringAgent.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" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &copy; <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</footer>
</body>
</html>