Author: azeez Date: Tue Jan 8 23:26:53 2008 New Revision: 610287 URL: http://svn.apache.org/viewvc?rev=610287&view=rev Log: Handling client side services & service deployed from within modules - we need not send them across to a new member which joins the cluster since the service name will be different from node to node.
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationCommand.java webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationResponseCommand.java Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationCommand.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationCommand.java?rev=610287&r1=610286&r2=610287&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationCommand.java (original) +++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationCommand.java Tue Jan 8 23:26:53 2008 @@ -17,6 +17,8 @@ import org.apache.axis2.clustering.ClusteringFault; import org.apache.axis2.context.ConfigurationContext; +import org.apache.axis2.description.AxisModule; +import org.apache.axis2.description.AxisService; import org.apache.axis2.description.AxisServiceGroup; import org.apache.axis2.engine.AxisConfiguration; @@ -37,9 +39,20 @@ AxisConfiguration axisConfig = configCtx.getAxisConfiguration(); for (Iterator iter = axisConfig.getServiceGroups(); iter.hasNext();) { AxisServiceGroup serviceGroup = (AxisServiceGroup) iter.next(); + boolean excludeSG = false; + for (Iterator serviceIter = serviceGroup.getServices(); serviceIter.hasNext();) { + AxisService service = (AxisService) serviceIter.next(); + if (service.getParameter(AxisModule.MODULE_SERVICE) != null || + service.isClientSide()) { // No need to send services deployed through modules or client side services + excludeSG = true; + break; + } + } //TODO: Exclude all services loaded from modules. How to handle data services etc.? - serviceGroupNames.add(serviceGroup.getServiceGroupName()); + if (!excludeSG) { + serviceGroupNames.add(serviceGroup.getServiceGroupName()); + } } this.serviceGroupNames = (String[]) serviceGroupNames.toArray(new String[serviceGroupNames.size()]); Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationResponseCommand.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationResponseCommand.java?rev=610287&r1=610286&r2=610287&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationResponseCommand.java (original) +++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/control/GetConfigurationResponseCommand.java Tue Jan 8 23:26:53 2008 @@ -64,7 +64,7 @@ } } - //TODO: Check this code. Need to see what happens to Data Services etc. also services deployed from within modules + //TODO: We support only AAR files for now // Unload all service groups which were not sent by the neighbour, // but have been currently loaded @@ -86,9 +86,9 @@ serviceIter.hasNext();) { AxisService service = (AxisService) serviceIter.next(); if (service.isClientSide() || - service.getParameter(AxisModule.MODULE_SERVICE) != null) { + service.getParameter(AxisModule.MODULE_SERVICE) != null) { // Do not unload service groups containing client side services or ones deployed from within modules mustUnloadServiceGroup = false; - break; // Do not unload service groups containing client side services + break; } } if (mustUnloadServiceGroup) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]