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/05/25 12:21:05 UTC
svn commit: r659951 - in
/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering:
control/wka/MemberListCommand.java tribes/TribesClusterManager.java
Author: azeez
Date: Sun May 25 03:21:04 2008
New Revision: 659951
URL: http://svn.apache.org/viewvc?rev=659951&view=rev
Log:
Need to add the sender to the member list
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/TribesClusterManager.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=659951&r1=659950&r2=659951&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 Sun May 25 03:21:04 2008
@@ -37,6 +37,7 @@
private static final Log log = LogFactory.getLog(MemberListCommand.class);
private Member[] members;
+ private Member sender;
private MembershipManager membershipManager;
private StaticMembershipInterceptor staticMembershipInterceptor;
@@ -52,17 +53,26 @@
this.members = members;
}
+ public void setSender(Member sender) {
+ this.sender = sender;
+ }
+
public void execute(ConfigurationContext configurationContext) throws ClusteringFault {
log.info("Received MEMBER_LIST message");
+ Member localMember = membershipManager.getLocalMember();
for (Member member : members) {
- log.info("Trying to add member " + TribesUtil.getHost(member) + "...");
- Member localMember = membershipManager.getLocalMember();
- if (!(Arrays.equals(localMember.getHost(), member.getHost()) &&
- localMember.getPort() == member.getPort())) {
- log.info("Added member " + TribesUtil.getHost(member));
- membershipManager.memberAdded(member);
- staticMembershipInterceptor.memberAdded(member);
- }
+ addMember(localMember, member);
+ }
+ addMember(localMember, sender);
+ }
+
+ private void addMember(Member localMember, Member member) {
+ log.info("Trying to add member " + TribesUtil.getHost(member) + "...");
+ if (!(Arrays.equals(localMember.getHost(), member.getHost()) &&
+ localMember.getPort() == member.getPort())) {
+ log.info("Added member " + TribesUtil.getHost(member));
+ membershipManager.memberAdded(member);
+ staticMembershipInterceptor.memberAdded(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=659951&r1=659950&r2=659951&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 Sun May 25 03:21:04 2008
@@ -188,19 +188,22 @@
MemberListCommand command = (MemberListCommand) response.getMessage();
command.setMembershipManager(membershipManager);
command.setStaticMembershipInterceptor(staticMembershipInterceptor);
+ command.setSender(response.getSource());
command.execute(configurationContext);
}
- log.info("Sending MEMBER_JOINED to group...");
- MemberJoinedCommand memberJoinedCommand = new MemberJoinedCommand();
- memberJoinedCommand.setMember(membershipManager.getLocalMember());
- try {
- rpcChannel.send(membershipManager.getMembers(), memberJoinedCommand,
- RpcChannel.ALL_REPLY, Channel.SEND_OPTIONS_ASYNCHRONOUS, 10000);
- } catch (ChannelException e) {
- String msg = "Could not send MEMBER_JOINED message to group";
- log.error(msg, e);
- throw new ClusteringFault(msg, e);
+ if (membershipManager.getMembers().length > 0) {
+ log.info("Sending MEMBER_JOINED to group...");
+ MemberJoinedCommand memberJoinedCommand = new MemberJoinedCommand();
+ memberJoinedCommand.setMember(membershipManager.getLocalMember());
+ try {
+ rpcChannel.send(membershipManager.getMembers(), memberJoinedCommand,
+ RpcChannel.ALL_REPLY, Channel.SEND_OPTIONS_ASYNCHRONOUS, 10000);
+ } catch (ChannelException e) {
+ String msg = "Could not send MEMBER_JOINED message to group";
+ log.error(msg, e);
+ throw new ClusteringFault(msg, e);
+ }
}
} catch (ChannelException e) {
String msg = "Could not JOIN group";