You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by az...@apache.org on 2008/05/25 11:55:22 UTC
svn commit: r659948 -
/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java
Author: azeez
Date: Sun May 25 02:55:22 2008
New Revision: 659948
URL: http://svn.apache.org/viewvc?rev=659948&view=rev
Log:
There is a problem when the WKA member is removed from the static membership interceptor. Hence removing that code
Modified:
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/tribes/TribesClusterManager.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java?rev=659948&r1=659947&r2=659948&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 02:55:22 2008
@@ -179,55 +179,37 @@
if (membershipScheme.equals(ClusteringConstants.MembershipScheme.WKA_BASED)) {
try {
Member[] wkaMembers = membershipManager.getMembers(); // The well-known members
- for (Member wkaMember : wkaMembers) {
- Response[] responses = rpcChannel.send(new Member[]{wkaMember},
- new JoinGroupCommand(),
- RpcChannel.FIRST_REPLY,
- Channel.SEND_OPTIONS_ASYNCHRONOUS,
- 10000);
- if (responses.length > 0) {
- Member source = responses[0].getSource();
- MemberListCommand command = (MemberListCommand) responses[0].getMessage();
- command.setMembershipManager(membershipManager);
- command.setStaticMembershipInterceptor(staticMembershipInterceptor);
- command.execute(configurationContext);
-
- // Replace the WKA member, with the details received from that member
- // This is because we may have used a public IP address to point to the
- // wka member. But subequently, we need to use the private IP address
- StaticMember member = new StaticMember();
- member.setHost(source.getHost());
- member.setPort(source.getPort());
- member.setMemberAliveTime(source.getMemberAliveTime());
- member.setPayload("ping".getBytes());
- membershipManager.removeWellKnownMember(wkaMember);
- staticMembershipInterceptor.removeStaticMember(wkaMember);
- if (!membershipManager.getLocalMember().equals(member)) {
- membershipManager.addWellKnownMember(member);
- membershipManager.memberAdded(member);
- staticMembershipInterceptor.memberAdded(member);
- }
-
- log.info("Sending MEMBER_JOINED to group...");
- MemberJoinedCommand memberJoinedCommand = new MemberJoinedCommand();
- memberJoinedCommand.setMember(membershipManager.getLocalMember());
- try {
- Member[] currentMembers = membershipManager.getMembers();
- Member[] sendTo = new Member[currentMembers.length - 1];
- int j = 0;
- for (Member currentMember : currentMembers) {
- if (!currentMember.equals(source)) { // Don't send back to the sender
- sendTo[j] = currentMember;
- j++;
- }
+ Response[] responses = rpcChannel.send(wkaMembers,
+ new JoinGroupCommand(),
+ RpcChannel.FIRST_REPLY,
+ Channel.SEND_OPTIONS_ASYNCHRONOUS,
+ 10000);
+ for (Response response : responses) {
+ Member source = response.getSource();
+ MemberListCommand command = (MemberListCommand) response.getMessage();
+ command.setMembershipManager(membershipManager);
+ command.setStaticMembershipInterceptor(staticMembershipInterceptor);
+ command.execute(configurationContext);
+
+ log.info("Sending MEMBER_JOINED to group...");
+ MemberJoinedCommand memberJoinedCommand = new MemberJoinedCommand();
+ memberJoinedCommand.setMember(membershipManager.getLocalMember());
+ try {
+ Member[] currentMembers = membershipManager.getMembers();
+ Member[] sendTo = new Member[currentMembers.length - 1];
+ int j = 0;
+ for (Member currentMember : currentMembers) {
+ if (!currentMember.equals(source)) { // Don't send back to the sender
+ sendTo[j] = currentMember;
+ j++;
}
- rpcChannel.send(sendTo, 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);
}
+ rpcChannel.send(sendTo, 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) {