blob: 4c5bbab89d28f4a1d4b1b74727415a30f58d291e [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>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>ClusteringAgent (Apache Axis2)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ClusteringAgent (Apache Axis2)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/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">
<li>Prev Class</li>
<li><a href="../../../../org/apache/axis2/clustering/ClusteringCommand.html" title="class in org.apache.axis2.clustering"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis2/clustering/ClusteringAgent.html" target="_top">Frames</a></li>
<li><a href="ClusteringAgent.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All 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.axis2.clustering</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><a href="../../../../org/apache/axis2/description/ParameterInclude.html" title="interface in org.apache.axis2.description">ParameterInclude</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/axis2/clustering/tribes/TribesClusteringAgent.html" title="class in org.apache.axis2.clustering.tribes">TribesClusteringAgent</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">ClusteringAgent</span>
extends <a href="../../../../org/apache/axis2/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="../../../../org/apache/axis2/clustering/state/StateManager.html" title="interface in org.apache.axis2.clustering.state"><code>StateManager</code></a> &
<a href="../../../../org/apache/axis2/clustering/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 =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#addGroupManagementAgent(org.apache.axis2.clustering.management.GroupManagementAgent, java.lang.String)">addGroupManagementAgent</a></strong>(<a href="../../../../org/apache/axis2/clustering/management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;agent,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationDomain)</code>
<div class="block">Set the load balance event handler which will be notified when load balance events occur.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#addGroupManagementAgent(org.apache.axis2.clustering.management.GroupManagementAgent, java.lang.String, java.lang.String)">addGroupManagementAgent</a></strong>(<a href="../../../../org/apache/axis2/clustering/management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;agent,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationDomain,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationSubDomain)</code>
<div class="block">Add a GroupManagementAgent to an application domain + sub-domain</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#finalize()">finalize</a></strong>()</code>
<div class="block">Do cleanup & leave the cluster</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#getAliveMemberCount()">getAliveMemberCount</a></strong>()</code>
<div class="block">Get the number of members alive.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#getDomains()">getDomains</a></strong>()</code>
<div class="block">Get all the domains that this ClusteringAgent belongs to</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis2/clustering/management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#getGroupManagementAgent(java.lang.String)">getGroupManagementAgent</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationDomain)</code>
<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 class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis2/clustering/management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#getGroupManagementAgent(java.lang.String, java.lang.String)">getGroupManagementAgent</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationDomain,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationSubDomain)</code>
<div class="block">Get the GroupManagementAgent which corresponds to the <code>applicationDomain + sub-domain</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/axis2/clustering/Member.html" title="class in org.apache.axis2.clustering">Member</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#getMembers()">getMembers</a></strong>()</code>
<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 class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis2/clustering/management/NodeManager.html" title="interface in org.apache.axis2.clustering.management">NodeManager</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#getNodeManager()">getNodeManager</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis2/clustering/state/StateManager.html" title="interface in org.apache.axis2.clustering.state">StateManager</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#getStateManager()">getStateManager</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#init()">init</a></strong>()</code>
<div class="block">Initialize this node, and join the cluster</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#isCoordinator()">isCoordinator</a></strong>()</code>
<div class="block">Checks whether this member is the coordinator for the cluster</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/axis2/clustering/ClusteringCommand.html" title="class in org.apache.axis2.clustering">ClusteringCommand</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#sendMessage(org.apache.axis2.clustering.ClusteringMessage, boolean)">sendMessage</a></strong>(<a href="../../../../org/apache/axis2/clustering/ClusteringMessage.html" title="class in org.apache.axis2.clustering">ClusteringMessage</a>&nbsp;msg,
boolean&nbsp;isRpcMessage)</code>
<div class="block">Send a message to all members in this member's primary cluster</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#setConfigurationContext(org.apache.axis2.context.ConfigurationContext)">setConfigurationContext</a></strong>(<a href="../../../../org/apache/axis2/context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;configurationContext)</code>
<div class="block">Set the system's configuration context.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#setMembers(java.util.List)">setMembers</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/axis2/clustering/Member.html" title="class in org.apache.axis2.clustering">Member</a>&gt;&nbsp;members)</code>
<div class="block">Set the static members of the cluster.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#setNodeManager(org.apache.axis2.clustering.management.NodeManager)">setNodeManager</a></strong>(<a href="../../../../org/apache/axis2/clustering/management/NodeManager.html" title="interface in org.apache.axis2.clustering.management">NodeManager</a>&nbsp;nodeManager)</code>
<div class="block">Set the NodeManager corresponding to this ClusteringAgent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#setStateManager(org.apache.axis2.clustering.state.StateManager)">setStateManager</a></strong>(<a href="../../../../org/apache/axis2/clustering/state/StateManager.html" title="interface in org.apache.axis2.clustering.state">StateManager</a>&nbsp;stateManager)</code>
<div class="block">Set the StateManager corresponding to this ClusteringAgent.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/clustering/ClusteringAgent.html#shutdown()">shutdown</a></strong>()</code>
<div class="block">Disconnect this node from the cluster.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.axis2.description.ParameterInclude">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.axis2.description.<a href="../../../../org/apache/axis2/description/ParameterInclude.html" title="interface in org.apache.axis2.description">ParameterInclude</a></h3>
<code><a href="../../../../org/apache/axis2/description/ParameterInclude.html#addParameter(org.apache.axis2.description.Parameter)">addParameter</a>, <a href="../../../../org/apache/axis2/description/ParameterInclude.html#deserializeParameters(org.apache.axiom.om.OMElement)">deserializeParameters</a>, <a href="../../../../org/apache/axis2/description/ParameterInclude.html#getParameter(java.lang.String)">getParameter</a>, <a href="../../../../org/apache/axis2/description/ParameterInclude.html#getParameters()">getParameters</a>, <a href="../../../../org/apache/axis2/description/ParameterInclude.html#isParameterLocked(java.lang.String)">isParameterLocked</a>, <a href="../../../../org/apache/axis2/description/ParameterInclude.html#removeParameter(org.apache.axis2.description.Parameter)">removeParameter</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="init()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>void&nbsp;init()
throws <a href="../../../../org/apache/axis2/clustering/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="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/axis2/clustering/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 name="finalize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finalize</h4>
<pre>void&nbsp;finalize()</pre>
<div class="block">Do cleanup & leave the cluster</div>
</li>
</ul>
<a name="getStateManager()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStateManager</h4>
<pre><a href="../../../../org/apache/axis2/clustering/state/StateManager.html" title="interface in org.apache.axis2.clustering.state">StateManager</a>&nbsp;getStateManager()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>The StateManager</dd></dl>
</li>
</ul>
<a name="getNodeManager()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeManager</h4>
<pre><a href="../../../../org/apache/axis2/clustering/management/NodeManager.html" title="interface in org.apache.axis2.clustering.management">NodeManager</a>&nbsp;getNodeManager()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>The NodeManager</dd></dl>
</li>
</ul>
<a name="setStateManager(org.apache.axis2.clustering.state.StateManager)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStateManager</h4>
<pre>void&nbsp;setStateManager(<a href="../../../../org/apache/axis2/clustering/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="../../../../org/apache/axis2/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="strong">Parameters:</span></dt><dd><code>stateManager</code> - The StateManager instance</dd></dl>
</li>
</ul>
<a name="setNodeManager(org.apache.axis2.clustering.management.NodeManager)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNodeManager</h4>
<pre>void&nbsp;setNodeManager(<a href="../../../../org/apache/axis2/clustering/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="../../../../org/apache/axis2/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="strong">Parameters:</span></dt><dd><code>nodeManager</code> - The NodeManager instance</dd></dl>
</li>
</ul>
<a name="shutdown()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
<pre>void&nbsp;shutdown()
throws <a href="../../../../org/apache/axis2/clustering/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="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/axis2/clustering/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 name="setConfigurationContext(org.apache.axis2.context.ConfigurationContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConfigurationContext</h4>
<pre>void&nbsp;setConfigurationContext(<a href="../../../../org/apache/axis2/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="strong">Parameters:</span></dt><dd><code>configurationContext</code> - The configuration context</dd></dl>
</li>
</ul>
<a name="setMembers(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMembers</h4>
<pre>void&nbsp;setMembers(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/axis2/clustering/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="strong">Parameters:</span></dt><dd><code>members</code> - Members to be added</dd></dl>
</li>
</ul>
<a name="getMembers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMembers</h4>
<pre><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/axis2/clustering/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="strong">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 name="getAliveMemberCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAliveMemberCount</h4>
<pre>int&nbsp;getAliveMemberCount()</pre>
<div class="block">Get the number of members alive.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the number of members alive.</dd></dl>
</li>
</ul>
<a name="addGroupManagementAgent(org.apache.axis2.clustering.management.GroupManagementAgent, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addGroupManagementAgent</h4>
<pre>void&nbsp;addGroupManagementAgent(<a href="../../../../org/apache/axis2/clustering/management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;agent,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">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="strong">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 name="addGroupManagementAgent(org.apache.axis2.clustering.management.GroupManagementAgent, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addGroupManagementAgent</h4>
<pre>void&nbsp;addGroupManagementAgent(<a href="../../../../org/apache/axis2/clustering/management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;agent,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationDomain,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationSubDomain)</pre>
<div class="block">Add a GroupManagementAgent to an application domain + sub-domain</div>
<dl><dt><span class="strong">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 name="getGroupManagementAgent(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupManagementAgent</h4>
<pre><a href="../../../../org/apache/axis2/clustering/management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;getGroupManagementAgent(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">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="strong">Parameters:</span></dt><dd><code>applicationDomain</code> - The application domain to which the application nodes being
load balanced belong to</dd>
<dt><span class="strong">Returns:</span></dt><dd>GroupManagementAgent which corresponds to the <code>applicationDomain</code></dd></dl>
</li>
</ul>
<a name="getGroupManagementAgent(java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupManagementAgent</h4>
<pre><a href="../../../../org/apache/axis2/clustering/management/GroupManagementAgent.html" title="interface in org.apache.axis2.clustering.management">GroupManagementAgent</a>&nbsp;getGroupManagementAgent(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationDomain,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">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="strong">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="strong">Returns:</span></dt><dd>GroupManagementAgent which corresponds to the <code>applicationDomain + sub-domain</code></dd></dl>
</li>
</ul>
<a name="getDomains()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDomains</h4>
<pre><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getDomains()</pre>
<div class="block">Get all the domains that this ClusteringAgent belongs to</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the domains of this ClusteringAgent</dd></dl>
</li>
</ul>
<a name="isCoordinator()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCoordinator</h4>
<pre>boolean&nbsp;isCoordinator()</pre>
<div class="block">Checks whether this member is the coordinator for the cluster</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if this member is the coordinator, and false otherwise</dd></dl>
</li>
</ul>
<a name="sendMessage(org.apache.axis2.clustering.ClusteringMessage, boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sendMessage</h4>
<pre><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/axis2/clustering/ClusteringCommand.html" title="class in org.apache.axis2.clustering">ClusteringCommand</a>&gt;&nbsp;sendMessage(<a href="../../../../org/apache/axis2/clustering/ClusteringMessage.html" title="class in org.apache.axis2.clustering">ClusteringMessage</a>&nbsp;msg,
boolean&nbsp;isRpcMessage)
throws <a href="../../../../org/apache/axis2/clustering/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="strong">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="strong">Returns:</span></dt><dd>A list of responses if the message is sent in RPC mode</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/axis2/clustering/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>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/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">
<li>Prev Class</li>
<li><a href="../../../../org/apache/axis2/clustering/ClusteringCommand.html" title="class in org.apache.axis2.clustering"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis2/clustering/ClusteringAgent.html" target="_top">Frames</a></li>
<li><a href="ClusteringAgent.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All 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>Copyright &copy; <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>