[wsas-java-dev] svn commit r1761 -
trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering
svn at wso2.org
svn at wso2.org
Thu Apr 5 02:40:45 PDT 2007
Author: azeez
Date: Thu Apr 5 02:40:41 2007
New Revision: 1761
Modified:
trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/NodeManager.java
trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/WSASConfigManagerListener.java
Log:
Few minor improvements to NodeManagement.
Modified: trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/NodeManager.java
==============================================================================
--- trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/NodeManager.java (original)
+++ trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/NodeManager.java Thu Apr 5 02:40:41 2007
@@ -41,6 +41,9 @@
ConfigurationManager configMan = getConfigurationManager();
if (configMan != null) {
configMan.loadServiceGroup(serviceGroupName);
+ if (!isOperationSuccessful(configMan)) {
+ return false;
+ }
} else {
throw new AxisFault(CONFIG_MANAGER_NULL);
}
@@ -52,6 +55,9 @@
ConfigurationManager configMan = getConfigurationManager();
if (configMan != null) {
configMan.unloadServiceGroup(serviceGroupName);
+ if (!isOperationSuccessful(configMan)) {
+ return false;
+ }
} else {
throw new AxisFault(CONFIG_MANAGER_NULL);
}
@@ -66,6 +72,9 @@
}
for (int i = 0; i < serviceGroupNames.length; i++) {
configMan.unloadServiceGroup(serviceGroupNames[i]);
+ if (!isOperationSuccessful(configMan)) {
+ return false;
+ }
}
return true;
}
@@ -78,6 +87,9 @@
}
for (int i = 0; i < serviceGroupNames.length; i++) {
configMan.loadServiceGroup(serviceGroupNames[i]);
+ if (!isOperationSuccessful(configMan)) {
+ return false;
+ }
}
return true;
}
@@ -87,7 +99,9 @@
ConfigurationManager configMan = getConfigurationManager();
if (configMan != null) {
// configMan.applyPolicy(serviceName, policyId);
-
+ if (!isOperationSuccessful(configMan)) {
+ return false;
+ }
} else {
throw new AxisFault(CONFIG_MANAGER_NULL);
}
@@ -99,13 +113,16 @@
ConfigurationManager configMan = getConfigurationManager();
if (configMan != null) {
configMan.reloadConfiguration();
+ if (!isOperationSuccessful(configMan)) {
+ return false;
+ }
} else {
throw new AxisFault(CONFIG_MANAGER_NULL);
}
return true;
}
- public boolean prepare() throws AxisFault{
+ public boolean prepare() throws AxisFault {
return isPrepareSuccessful(getConfigurationManager());
}
@@ -165,6 +182,25 @@
}
}
+ private boolean isOperationSuccessful(ConfigurationManager configMan) throws AxisFault {
+ delay(); // Wait for sometime, so that the failures on other nodes can be detected
+ MessageContext msgCtx = MessageContext.getCurrentMessageContext();
+ AxisService axisService = msgCtx.getAxisService();
+ Parameter opFailed = axisService.getParameter(OPERATION_FAILED);
+ boolean result;
+ if (opFailed == null) {
+ delay();
+ opFailed = axisService.getParameter(OPERATION_FAILED);
+ result = (opFailed == null);
+ } else {
+ result = false;
+ }
+ if (opFailed != null) {
+ axisService.removeParameter(opFailed);
+ }
+ return result;
+ }
+
/**
* @param configMan
* @return true if the operation succeeded & prepare succeeded
@@ -192,7 +228,7 @@
private void delay() {
try {
- Thread.sleep(5000);
+ Thread.sleep(2000);
} catch (InterruptedException e) {
log.error(e);
}
Modified: trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/WSASConfigManagerListener.java
==============================================================================
--- trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/WSASConfigManagerListener.java (original)
+++ trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/WSASConfigManagerListener.java Thu Apr 5 02:40:41 2007
@@ -20,9 +20,9 @@
import org.apache.axis2.cluster.configuration.ConfigurationManagerListener;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.AxisServiceGroup;
import org.apache.axis2.description.Parameter;
-import org.apache.axis2.description.AxisService;
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -30,7 +30,6 @@
import org.wso2.wsas.ServerConstants;
import org.wso2.wsas.deployment.ServerConfigurator;
import org.wso2.wsas.util.Controllable;
-import org.wso2.wsas.util.Utils;
import java.util.Iterator;
import java.util.List;
@@ -116,11 +115,12 @@
AxisConfiguration axisConfig = configurationContext.getAxisConfiguration();
AxisServiceGroup serviceGroup = axisConfig.getServiceGroup(sgName);
if (serviceGroup == null) {
+ String msg = "Service group " + sgName + " does not exist";
+ log.info(msg);
try {
notifyFailureToNodeManager();
axisConfig.getClusterManager().getConfigurationManager().
- exceptionOccurred(new Exception("Service group " + sgName +
- " does not exist"));
+ exceptionOccurred(new Exception(msg));
} catch (Exception e) {
log.error(e);
}
More information about the Wsas-java-dev
mailing list