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:56:55 UTC
svn commit: r659949 -
/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java
Author: azeez
Date: Sun May 25 02:56:54 2008
New Revision: 659949
URL: http://svn.apache.org/viewvc?rev=659949&view=rev
Log:
Optimizing the number of messages sent when a member joins
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=659949&r1=659948&r2=659949&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:56:54 2008
@@ -185,32 +185,22 @@
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);
- }
+ 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";