You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by az...@apache.org on 2008/06/09 13:09:32 UTC
svn commit: r664678 - in /webservices/axis2/trunk/java/modules:
clustering/src/org/apache/axis2/clustering/control/wka/
clustering/src/org/apache/axis2/clustering/tribes/
kernel/src/org/apache/axis2/clustering/
Author: azeez
Date: Mon Jun 9 04:09:32 2008
New Revision: 664678
URL: http://svn.apache.org/viewvc?rev=664678&view=rev
Log:
Set the HTTP/S ports as membership properties. So when a new member joins, we can automatically detect its ports which can be used for load balancing
Modified:
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/wka/MemberListCommand.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AtMostOnceInterceptor.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MembershipManager.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/RpcRequestHandler.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesConstants.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesMembershipListener.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/wka/MemberListCommand.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/wka/MemberListCommand.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/wka/MemberListCommand.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/wka/MemberListCommand.java Mon Jun 9 04:09:32 2008
@@ -67,10 +67,10 @@
}
private void addMember(Member localMember, Member member) {
- log.info("Trying to add member " + TribesUtil.getHost(member) + "...");
+ log.info("Trying to add member " + TribesUtil.getName(member) + "...");
if (!(Arrays.equals(localMember.getHost(), member.getHost()) &&
localMember.getPort() == member.getPort())) {
- log.info("Added member " + TribesUtil.getHost(member));
+ log.info("Added member " + TribesUtil.getName(member));
membershipManager.memberAdded(member);
staticMembershipInterceptor.memberAdded(member);
}
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AtMostOnceInterceptor.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AtMostOnceInterceptor.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AtMostOnceInterceptor.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AtMostOnceInterceptor.java Mon Jun 9 04:09:32 2008
@@ -55,7 +55,7 @@
receivedMessages.put(msg, System.currentTimeMillis());
super.messageReceived(msg);
} else { // If it is a duplicate message, discard it. i.e. dont call super.messageReceived
- log.info("Duplicate message received from " + TribesUtil.getHost(msg.getAddress()));
+ log.info("Duplicate message received from " + TribesUtil.getName(msg.getAddress()));
}
}
}
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java Mon Jun 9 04:09:32 2008
@@ -116,11 +116,11 @@
getPropertyNonReplicable(ClusteringConstants.CLUSTER_INITIALIZED) == null) {
log.warn("Received message " + msg +
" before cluster initialization has been completed from " +
- TribesUtil.getHost(sender));
+ TribesUtil.getName(sender));
return;
}
if (log.isDebugEnabled()) {
- log.debug("Received message " + msg + " from " + TribesUtil.getHost(sender));
+ log.debug("Received message " + msg + " from " + TribesUtil.getName(sender));
}
try {
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java Mon Jun 9 04:09:32 2008
@@ -63,11 +63,11 @@
channel.send(members, toByteMessage(msg),
Channel.SEND_OPTIONS_USE_ACK |
Channel.SEND_OPTIONS_SYNCHRONIZED_ACK |
- TribesClusterManager.MSG_ORDER_OPTION);
+ TribesConstants.MSG_ORDER_OPTION);
} else {
channel.send(members, toByteMessage(msg),
Channel.SEND_OPTIONS_ASYNCHRONOUS |
- TribesClusterManager.MSG_ORDER_OPTION);
+ TribesConstants.MSG_ORDER_OPTION);
}
if (log.isDebugEnabled()) {
log.debug("Sent " + msg + " to group");
@@ -82,7 +82,7 @@
ChannelException.FaultyMember[] faultyMembers = e.getFaultyMembers();
for (ChannelException.FaultyMember faultyMember : faultyMembers) {
Member member = faultyMember.getMember();
- log.error("Member " + TribesUtil.getHost(member) + " is faulty",
+ log.error("Member " + TribesUtil.getName(member) + " is faulty",
faultyMember.getCause());
}
} catch (Exception e) {
@@ -124,21 +124,21 @@
channel.send(new Member[]{member}, toByteMessage(cmd),
Channel.SEND_OPTIONS_USE_ACK | Channel.SEND_OPTIONS_SYNCHRONIZED_ACK);
if (log.isDebugEnabled()) {
- log.debug("Sent " + cmd + " to " + TribesUtil.getHost(member));
+ log.debug("Sent " + cmd + " to " + TribesUtil.getName(member));
}
}
} catch (NotSerializableException e) {
- String message = "Could not send command message to " + TribesUtil.getHost(member) +
+ String message = "Could not send command message to " + TribesUtil.getName(member) +
" since it is not serializable.";
log.error(message, e);
throw new ClusteringFault(message, e);
} catch (ChannelException e) {
- log.error("Could not send message to " + TribesUtil.getHost(member));
+ log.error("Could not send message to " + TribesUtil.getName(member));
ChannelException.FaultyMember[] faultyMembers = e.getFaultyMembers();
- log.error("Member " + TribesUtil.getHost(member) + " is faulty",
+ log.error("Member " + TribesUtil.getName(member) + " is faulty",
faultyMembers[0].getCause());
} catch (Exception e) {
- String message = "Could not send message to " + TribesUtil.getHost(member) +
+ String message = "Could not send message to " + TribesUtil.getName(member) +
". Reason " + e.getMessage();
log.warn(message, e);
}
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java Mon Jun 9 04:09:32 2008
@@ -92,10 +92,19 @@
// Is this an application domain member?
if (Arrays.equals(applicationDomain, member.getDomain())) {
- log.info("Application member " + TribesUtil.getHost(member) + " joined cluster");
+ log.info("Application member " + TribesUtil.getName(member) + " joined cluster");
if(eventHandler != null){
org.apache.axis2.clustering.Member axis2Member =
- new org.apache.axis2.clustering.Member(member.getName(), member.getPort());
+ new org.apache.axis2.clustering.Member(TribesUtil.getHost(member),
+ member.getPort());
+ byte[] payload = member.getPayload();
+ String payloadStr = new String(payload);
+
+ String[] ports = payloadStr.split(";");
+ int httpPort = Integer.parseInt(ports[0].substring(ports[0].indexOf(":") + 1));
+ int httpsPort = Integer.parseInt(ports[1].substring(ports[1].indexOf(":") + 1));
+ axis2Member.setHttpPort(httpPort);
+ axis2Member.setHttpsPort(httpsPort);
eventHandler.applicationMemberAdded(axis2Member);
}
applicationMembers.add(member);
@@ -118,7 +127,7 @@
// Is this an application domain member?
if (Arrays.equals(applicationDomain, member.getDomain())) {
- log.info("Application member " + TribesUtil.getHost(member) + " left cluster");
+ log.info("Application member " + TribesUtil.getName(member) + " left cluster");
if(eventHandler != null){
org.apache.axis2.clustering.Member axis2Member =
new org.apache.axis2.clustering.Member(member.getName(), member.getPort());
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MembershipManager.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MembershipManager.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MembershipManager.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MembershipManager.java Mon Jun 9 04:09:32 2008
@@ -90,7 +90,7 @@
if (!members.contains(member)) {
if (rpcChannel != null && wkaMembers.contains(member)) { // if it is a well-known member
- log.info("A WKA member " + TribesUtil.getHost(member) +
+ log.info("A WKA member " + TribesUtil.getName(member) +
" just joined the group. Sending MEMBER_LIST message.");
// send the memeber list to it
MemberListCommand memListCmd;
@@ -101,7 +101,7 @@
Channel.SEND_OPTIONS_ASYNCHRONOUS, 10000);
} catch (Exception e) {
String errMsg = "Could not send MEMBER_LIST to well-known member " +
- TribesUtil.getHost(member);
+ TribesUtil.getName(member);
log.error(errMsg, e);
throw new RemoteProcessException(errMsg, e);
}
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/RpcRequestHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/RpcRequestHandler.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/RpcRequestHandler.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/RpcRequestHandler.java Mon Jun 9 04:09:32 2008
@@ -70,7 +70,7 @@
}
try {
log.info("Received " + msg + " initialization request message from " +
- TribesUtil.getHost(invoker));
+ TribesUtil.getName(invoker));
GetStateCommand command = (GetStateCommand) msg;
command.execute(configurationContext);
GetStateResponseCommand getStateRespCmd = new GetStateResponseCommand();
@@ -90,7 +90,7 @@
}
try {
log.info("Received " + msg + " initialization request message from " +
- TribesUtil.getHost(invoker));
+ TribesUtil.getName(invoker));
GetConfigurationCommand command = (GetConfigurationCommand) msg;
command.execute(configurationContext);
GetConfigurationResponseCommand
@@ -103,7 +103,7 @@
throw new RemoteProcessException(errMsg, e);
}
} else if (msg instanceof JoinGroupCommand) {
- log.info("Received JOIN message from " + TribesUtil.getHost(invoker));
+ log.info("Received JOIN message from " + TribesUtil.getName(invoker));
MemberListCommand memListCmd;
try {
// Add the member
@@ -120,7 +120,7 @@
}
return memListCmd;
} else if (msg instanceof MemberJoinedCommand) {
- log.info("Received MEMBER_JOINED message from " + TribesUtil.getHost(invoker));
+ log.info("Received MEMBER_JOINED message from " + TribesUtil.getName(invoker));
try {
MemberJoinedCommand command = (MemberJoinedCommand) msg;
command.setMembershipManager(membershipManager);
@@ -146,7 +146,7 @@
throw new RemoteProcessException(errMsg, e);
}
}
- return null;
+ return null;
}
public void leftOver(Serializable msg, Member member) {
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java Mon Jun 9 04:09:32 2008
@@ -24,8 +24,8 @@
import org.apache.axis2.clustering.ClusterManager;
import org.apache.axis2.clustering.ClusteringConstants;
import org.apache.axis2.clustering.ClusteringFault;
-import org.apache.axis2.clustering.RequestBlockingHandler;
import org.apache.axis2.clustering.LoadBalanceEventHandler;
+import org.apache.axis2.clustering.RequestBlockingHandler;
import org.apache.axis2.clustering.configuration.ConfigurationManager;
import org.apache.axis2.clustering.configuration.DefaultConfigurationManager;
import org.apache.axis2.clustering.context.ClusteringContextListener;
@@ -41,6 +41,7 @@
import org.apache.axis2.description.HandlerDescription;
import org.apache.axis2.description.Parameter;
import org.apache.axis2.description.PhaseRule;
+import org.apache.axis2.description.TransportInDescription;
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.engine.DispatchPhase;
import org.apache.axis2.engine.Phase;
@@ -81,7 +82,6 @@
* The main ClusterManager class for the Tribes based clustering implementation
*/
public class TribesClusterManager implements ClusterManager {
- public static final int MSG_ORDER_OPTION = 512;
private static final Log log = LogFactory.getLog(TribesClusterManager.class);
@@ -160,6 +160,8 @@
channel.addChannelListener(channelListener);
+ setMemberTransportInfo();
+
TribesMembershipListener membershipListener = new TribesMembershipListener(membershipManager);
channel.addMembershipListener(membershipListener);
try {
@@ -264,6 +266,26 @@
log.info("Cluster initialization completed.");
}
+ private void setMemberTransportInfo() {
+ String payload = "";
+ AxisConfiguration axisConfig = configurationContext.getAxisConfiguration();
+ TransportInDescription httpTransport = axisConfig.getTransportIn("http");
+ if (httpTransport != null) {
+ Parameter port = httpTransport.getParameter("port");
+ if (port != null) {
+ payload +="HTTP:" + Integer.parseInt((String) port.getValue()) + ";";
+ }
+ }
+ TransportInDescription httpsTransport = axisConfig.getTransportIn("https");
+ if (httpsTransport != null) {
+ Parameter port = httpsTransport.getParameter("port");
+ if (port != null) {
+ payload +="HTTPS:" + Integer.parseInt((String) port.getValue()) + ";";
+ }
+ }
+ channel.getMembershipService().setPayload(payload.getBytes());
+ }
+
/**
* Get the membership scheme applicable to this cluster
*
@@ -527,9 +549,9 @@
membershipManager.addWellKnownMember(tribesMember);
if (canConnect(member)) {
membershipManager.memberAdded(tribesMember);
- log.info("Added static member " + TribesUtil.getHost(tribesMember));
+ log.info("Added static member " + TribesUtil.getName(tribesMember));
} else {
- log.info("Could not connect to member " + TribesUtil.getHost(tribesMember));
+ log.info("Could not connect to member " + TribesUtil.getName(tribesMember));
}
}
}
@@ -649,11 +671,11 @@
new LoadBalancerInterceptor(domain, applicationDomain);
Parameter lbEvtHandlerParam =
getParameter(ClusteringConstants.Parameters.LOAD_BALANCE_EVENT_HANDLER);
- if(lbEvtHandlerParam != null && lbEvtHandlerParam.getValue() != null){
- String lbEvtHandlerClass = ((String)lbEvtHandlerParam.getValue()).trim();
+ if (lbEvtHandlerParam != null && lbEvtHandlerParam.getValue() != null) {
+ String lbEvtHandlerClass = ((String) lbEvtHandlerParam.getValue()).trim();
try {
lbInterceptor.
- setEventHandler((LoadBalanceEventHandler)Class.forName(lbEvtHandlerClass).newInstance());
+ setEventHandler((LoadBalanceEventHandler) Class.forName(lbEvtHandlerClass).newInstance());
} catch (Exception e) {
String msg = "Could not instantiate LoadBalanceEventHandler class " +
lbEvtHandlerClass;
@@ -670,7 +692,7 @@
// Add the OrderInterceptor to preserve sender ordering
OrderInterceptor orderInterceptor = new OrderInterceptor();
- orderInterceptor.setOptionFlag(MSG_ORDER_OPTION);
+ orderInterceptor.setOptionFlag(TribesConstants.MSG_ORDER_OPTION);
channel.addInterceptor(orderInterceptor);
if (membershipScheme.equals(ClusteringConstants.MembershipScheme.WKA_BASED)) {
@@ -780,7 +802,7 @@
Member member = (numberOfTries == 0) ?
membershipManager.getLongestLivingMember() : // First try to get from the longest member alive
membershipManager.getRandomMember(); // Else get from a random member
- String memberHost = TribesUtil.getHost(member);
+ String memberHost = TribesUtil.getName(member);
log.info("Trying to send intialization request to " + memberHost);
try {
if (!sentMembersList.contains(memberHost)) {
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesConstants.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesConstants.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesConstants.java Mon Jun 9 04:09:32 2008
@@ -20,6 +20,9 @@
*/
public final class TribesConstants {
+ // Message sending and receiving options
+ public static final int MSG_ORDER_OPTION = 512;
+
public static final String LOCAL_MEMBER_HOST = "localMemberHost";
public static final String LOCAL_MEMBER_PORT = "localMemberPort";
@@ -33,11 +36,4 @@
public static final String BIND_ADDRESS = "bindAddress";
public static final String TCP_LISTEN_PORT = "tcpListenPort";
public static final String MAX_RETRIES = "maxRetries";
-
- public final class MembershipMessages {
- public static final int JOIN = 3;
- public static final int LEAVE = 5;
- public static final int NEW_MEMBER_JOINED = 7;
- public static final int MEMBER_LIST = 11;
- }
}
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesMembershipListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesMembershipListener.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesMembershipListener.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesMembershipListener.java Mon Jun 9 04:09:32 2008
@@ -39,13 +39,13 @@
public void memberAdded(Member member) {
if (membershipManager.memberAdded(member)) {
- log.info("New member " + TribesUtil.getHost(member) + " joined cluster.");
+ log.info("New member " + TribesUtil.getName(member) + " joined cluster.");
}
// System.err.println("++++++ IS COORD="+TribesClusterManager.nbc.isCoordinator());
}
public void memberDisappeared(Member member) {
- log.info("Member " + TribesUtil.getHost(member) + " left cluster");
+ log.info("Member " + TribesUtil.getName(member) + " left cluster");
membershipManager.memberDisappeared(member);
// System.err.println("++++++ IS COORD="+TribesClusterManager.nbc.isCoordinator());
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java Mon Jun 9 04:09:32 2008
@@ -35,7 +35,7 @@
if (length > 0) {
log.info("Members of current cluster");
for (int i = 0; i < length; i++) {
- log.info("Member" + (i + 1) + " " + getHost(members[i]));
+ log.info("Member" + (i + 1) + " " + getName(members[i]));
}
} else {
log.info("No members in current cluster");
@@ -43,6 +43,10 @@
}
}
+ public static String getName(Member member) {
+ return getHost(member) + ":" + member.getPort();
+ }
+
public static String getHost(Member member) {
byte[] hostBytes = member.getHost();
StringBuffer host = new StringBuffer();
@@ -55,10 +59,10 @@
}
}
}
- return host.append(":").append(member.getPort()).toString();
+ return host.toString();
}
public static String getLocalHost(Channel channel) {
- return getHost(channel.getLocalMember(true));
+ return getName(channel.getLocalMember(true));
}
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java?rev=664678&r1=664677&r2=664678&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java Mon Jun 9 04:09:32 2008
@@ -26,10 +26,20 @@
private String hostName;
/**
- * The TCP port used by this member
+ * The TCP port used by this member for communicating clustering messages
*/
private int port;
+ /**
+ * The HTTP port used by this member for servicing Web service requests. Used for load balancing
+ */
+ private int httpPort;
+
+ /**
+ * The HTTPS port used by this member for servicing Web service requests. Used for load balancing
+ */
+ private int httpsPort;
+
public Member(String hostName, int port) {
this.hostName = hostName;
this.port = port;
@@ -43,6 +53,22 @@
return port;
}
+ public int getHttpsPort() {
+ return httpsPort;
+ }
+
+ public void setHttpsPort(int httpsPort) {
+ this.httpsPort = httpsPort;
+ }
+
+ public int getHttpPort() {
+ return httpPort;
+ }
+
+ public void setHttpPort(int httpPort) {
+ this.httpPort = httpPort;
+ }
+
public boolean equals(Object o) {
if (this == o) {
return true;