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 am...@apache.org on 2009/08/27 12:31:03 UTC

svn commit: r808354 - in /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2: context/ConfigurationContextFactory.java deployment/util/Utils.java engine/AxisConfiguration.java

Author: amilas
Date: Thu Aug 27 10:31:02 2009
New Revision: 808354

URL: http://svn.apache.org/viewvc?rev=808354&view=rev
Log:
Applied the patch for AXIS2-4373

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java?rev=808354&r1=808353&r2=808354&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java Thu Aug 27 10:31:02 2009
@@ -98,6 +98,10 @@
         // TODO: THIS NEEDS A TEST CASE!
         initApplicationScopeServices(configContext);
 
+        //Check whether there are any faulty services due to modules and trasports,
+        //If any, let the user know.
+        Utils.logFaultyServiceInfo(axisConfig);
+
         axisConfig.setStart(true);
         if (deploymentLifeCycleListener != null){
             deploymentLifeCycleListener.postDeploy(configContext);

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java?rev=808354&r1=808353&r2=808354&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java Thu Aug 27 10:31:02 2009
@@ -48,6 +48,7 @@
 import org.apache.axis2.util.JavaUtils;
 import org.apache.axis2.util.Loader;
 import org.apache.axis2.util.PolicyUtil;
+import org.apache.axis2.util.FaultyServiceData;
 import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.axis2.wsdl.WSDLUtil;
 import org.apache.commons.logging.Log;
@@ -1859,5 +1860,19 @@
 
     }
 
-
+    /**
+     * Log faulty services info due to unavailability of modules and transports
+     * @param axisConfig
+     */
+    public static void logFaultyServiceInfo(AxisConfiguration axisConfig){
+        Map<String, Map<String, FaultyServiceData>> faultyServices = axisConfig.getFaultyServicesDuetoModules();
+        if (faultyServices != null && !faultyServices.isEmpty()) {
+            for (String moduleName : faultyServices.keySet()) {
+                Map<String, FaultyServiceData> faultyServicesDueToModule = faultyServices.get(moduleName);
+                for (String s : faultyServicesDueToModule.keySet()) {
+                    log.warn("Service :" + s + " is faulty, due to unavailability of the module :" + moduleName);        
+                }
+            }
+        }
+    }
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?rev=808354&r1=808353&r2=808354&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Thu Aug 27 10:31:02 2009
@@ -674,6 +674,19 @@
                 faultyServicesMap.put(faultyServiceData.getServiceGroupName(), faultyServiceData);
                 faultyServicesDueToModules.put(moduleName, faultyServicesMap);
             }
+
+            //Adding the faulty service to default service map
+            String serviceStatus = "Error:\n" + "Engaged module not found :" + moduleName;
+
+            String serviceLocation = null;
+            if(faultyServiceData.getCurrentDeploymentFile() != null){
+                serviceLocation = faultyServiceData.getCurrentDeploymentFile().getFile().getAbsolutePath();
+            }
+
+            if(serviceLocation == null){
+                serviceLocation = faultyServiceData.getServiceGroupName();
+            }
+            faultyServices.put(serviceLocation, serviceStatus);
         }
     }
 
@@ -710,13 +723,24 @@
      */
     public void removeFaultyServiceDuetoModule(String moduleName, String serviceGroupName) {
         synchronized (faultyServicesDueToModules) {
-            Map<String, FaultyServiceData> faultyServices =
-                    faultyServicesDueToModules.get(moduleName);
+            Map<String, FaultyServiceData> faultyServicesDueToModule = faultyServicesDueToModules.get(moduleName);
+            FaultyServiceData faultyServiceData = faultyServicesDueToModule.get(serviceGroupName);
 
-            if (faultyServices != null) {
-                faultyServices.remove(serviceGroupName);
+            if (faultyServicesDueToModule != null) {
+                faultyServicesDueToModule.remove(serviceGroupName);
+
+                //Removing from the default faulty services map.
+                String serviceLocation = null;
+                if (faultyServiceData.getCurrentDeploymentFile() != null) {
+                    serviceLocation = faultyServiceData.getCurrentDeploymentFile().getFile().getAbsolutePath();
+                }
+
+                if (serviceLocation == null) {
+                    serviceLocation = faultyServiceData.getServiceGroupName();
+                }
+                faultyServices.remove(serviceLocation);
 
-                if(faultyServices.isEmpty()){
+                if (faultyServicesDueToModule.isEmpty()) {
                     faultyServicesDueToModules.remove(moduleName);
                 }
             }