You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2007/03/22 14:06:17 UTC

svn commit: r521249 - in /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2: deployment/ deployment/repository/util/ description/ engine/

Author: deepal
Date: Thu Mar 22 06:06:14 2007
New Revision: 521249

URL: http://svn.apache.org/viewvc?view=rev&rev=521249
Log:
-fixed an issue when we try to add a custom deployer (trying to add the same service multiple times and so exception)
- switch back to the old constructor of DeploymentClassLoader

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.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/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java Thu Mar 22 06:06:14 2007
@@ -198,7 +198,7 @@
                     DeploymentClassLoader deploymentClassLoader =
                             new DeploymentClassLoader(
                                     new URL[]{moduleurl},
-                                    axisConfig.getModuleClassLoader());
+                                    axisConfig.getModuleClassLoader(),false);
                     AxisModule module = new AxisModule();
                     module.setModuleClassLoader(deploymentClassLoader);
                     module.setParent(axisConfig);
@@ -244,7 +244,7 @@
         try {
             serviceGroup.setServiceGroupName(serviceName);
             DeploymentClassLoader serviceClassLoader = new DeploymentClassLoader(
-                    new URL[]{servicesURL}, axisConfig.getServiceClassLoader());
+                    new URL[]{servicesURL}, axisConfig.getServiceClassLoader(),false);
             String metainf = "meta-inf";
             serviceGroup.setServiceGroupClassLoader(serviceClassLoader);
             //processing wsdl.list
@@ -552,25 +552,29 @@
     }
 
     public void doDeploy() throws DeploymentException {
-        if (wsToDeploy.size() > 0) {
-            for (int i = 0; i < wsToDeploy.size(); i++) {
-                DeploymentFileData currentDeploymentFile = (DeploymentFileData) wsToDeploy.get(i);
-                String type = currentDeploymentFile.getType();
-                if (TYPE_SERVICE.equals(type)) {
-
-                    serviceDeployer.deploy(currentDeploymentFile);
-                } else if (TYPE_MODULE.equals(type)) {
-                    moduleDeployer.deploy(currentDeploymentFile);
-                } else {
-                    Deployer deployer = (Deployer) extensioToDeployerMappingMap.get(type);
-                    if (deployer != null) {
-                        deployer.deploy(currentDeploymentFile);
+        try {
+            if (wsToDeploy.size() > 0) {
+                for (int i = 0; i < wsToDeploy.size(); i++) {
+                    DeploymentFileData currentDeploymentFile = (DeploymentFileData) wsToDeploy.get(i);
+                    String type = currentDeploymentFile.getType();
+                    if (TYPE_SERVICE.equals(type)) {
+                        serviceDeployer.deploy(currentDeploymentFile);
+                    } else if (TYPE_MODULE.equals(type)) {
+                        moduleDeployer.deploy(currentDeploymentFile);
+                    } else {
+                        Deployer deployer = (Deployer) extensioToDeployerMappingMap.get(type);
+                        if (deployer != null) {
+                            deployer.deploy(currentDeploymentFile);
+                        }
                     }
-                }
 
+                }
             }
+        }catch(Exception e){
+            e.printStackTrace();
+        } finally {
+            wsToDeploy.clear();
         }
-        wsToDeploy.clear();
     }
 
     /**

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java Thu Mar 22 06:06:14 2007
@@ -70,7 +70,7 @@
                     DeploymentClassLoader classLoader =
                             new DeploymentClassLoader(new URL[]{parentFile.toURL()},
                                                       configCtx
-                                                              .getAxisConfiguration().getSystemClassLoader());
+                                                              .getAxisConfiguration().getSystemClassLoader(),false);
                     Thread.currentThread().setContextClassLoader(classLoader);
                     String className = file.getName();
                     className = className.replaceAll(".class", "");
@@ -167,7 +167,7 @@
                     String className = (String) classList.get(i);
                     DeploymentClassLoader classLoader = new DeploymentClassLoader(
                             new URL[]{deploymentFileData.getFile().toURL()},
-                            configCtx.getAxisConfiguration().getSystemClassLoader());
+                            configCtx.getAxisConfiguration().getSystemClassLoader(),false);
                     Thread.currentThread().setContextClassLoader(classLoader);
                     className = className.replaceAll(".class", "");
                     className = className.replaceAll("/", ".");

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java Thu Mar 22 06:06:14 2007
@@ -272,8 +272,6 @@
     /** Method invoked from the scheduler to start the listener. */
     public void startListener() {
         checkServices();
-        loadOtherDirectories();
-
         try {
             update();
         } catch (DeploymentException e) {

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java Thu Mar 22 06:06:14 2007
@@ -119,7 +119,7 @@
                                                                 file.getAbsolutePath()));
                     }
                     urlsToLoadFrom = new URL[]{file.toURL()};
-                    classLoader = new DeploymentClassLoader(urlsToLoadFrom, parent);
+                    classLoader = new DeploymentClassLoader(urlsToLoadFrom, parent,false);
                 } catch (Exception e) {
                     throw new AxisFault(e);
                 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java Thu Mar 22 06:06:14 2007
@@ -197,10 +197,8 @@
     public void update() throws DeploymentException {
         synchronized (deployer) {
             checkForUndeployedServices();
-
             deployer.unDeploy();
             deployer.doDeploy();
-
         }
     }
 
@@ -211,7 +209,6 @@
      */
     private WSInfo getFileItem(String filename) {
         int sise = jarList.size();
-
         for (int i = 0; i < sise; i++) {
             WSInfo wsInfo = (WSInfo) jarList.get(i);
 
@@ -219,7 +216,6 @@
                 return wsInfo;
             }
         }
-
         return null;
     }
 

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.java Thu Mar 22 06:06:14 2007
@@ -120,6 +120,38 @@
 
         service.setLastupdate();
         addChild(service);
+    }
+
+    public void addToGroup(AxisService service) throws Exception{
+          if (service == null) {
+            return;
+        }
+        service.setParent(this);
+
+        AxisConfiguration axisConfig = (AxisConfiguration) getParent();
+
+        if (axisConfig != null) {
+            Iterator modules = this.engagedModules.iterator();
+
+            while (modules.hasNext()) {
+                QName moduleName = (QName) modules.next();
+                AxisModule axisModule = axisConfig.getModule(moduleName);
+
+                if (axisModule != null) {
+                    Module moduleImpl = axisModule.getModule();
+                    if (moduleImpl != null) {
+                        // notyfying module for service engagement
+                        moduleImpl.engageNotify(service);
+                    }
+                    service.engageModule(axisModule, axisConfig);
+                } else {
+                    throw new AxisFault(Messages.getMessage(
+                            "modulenotavailble", moduleName.getLocalPart()));
+                }
+            }
+        }
+        service.setLastupdate();
+        addChild(service);
         if(axisConfig!=null){
             axisConfig.addToAllServicesMap(service.getName(),service);
         }

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?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- 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 Mar 22 06:06:14 2007
@@ -276,7 +276,14 @@
         while (services.hasNext()) {
             axisService = (AxisService) services.next();
             String serviceName = axisService.getName();
-            addToAllServicesMap(serviceName, axisService);
+            if (allServices.get(serviceName) != null) {
+                 throw new AxisFault(Messages.getMessage(
+                    "twoservicecannothavesamename", axisService.getName()));
+            }
+             if (axisService.getSchematargetNamespace() == null) {
+                   axisService
+                    .setSchematargetNamespace(Java2WSDLConstants.AXIS2_XSD);
+             }
         }
         services = axisServiceGroup.getServices();
         while (services.hasNext()) {
@@ -300,7 +307,7 @@
 
             Map endpoints = axisService.getEndpoints();
             String serviceName = axisService.getName();
-            allServices.put(serviceName, axisService);
+            addToAllServicesMap(serviceName, axisService);
             if (endpoints != null) {
                 Iterator endpointNameIter = endpoints.keySet().iterator();
                 while (endpointNameIter.hasNext()) {
@@ -316,18 +323,8 @@
         // serviceGroups.put(axisServiceGroup.getServiceGroupName(),
         // axisServiceGroup);
         addChild(axisServiceGroup);
-    }
-
-    public void addToAllServicesMap(String serviceName, AxisService axisService) throws AxisFault {
-        if (allServices.get(serviceName) != null) {
-            throw new AxisFault(Messages.getMessage(
-                    "twoservicecannothavesamename", axisService.getName()));
-        }
-        if (axisService.getSchematargetNamespace() == null) {
-            axisService
-                    .setSchematargetNamespace(Java2WSDLConstants.AXIS2_XSD);
-        }
-    }
+    }public void addToAllServicesMap(String serviceName, AxisService axisService) {
+    allServices.put(serviceName, axisService);}
 
     public AxisServiceGroup removeServiceGroup(String serviceGroupName) throws AxisFault {
         AxisServiceGroup axisServiceGroup = (AxisServiceGroup) getChild(serviceGroupName);
@@ -735,8 +732,7 @@
 
             while (servics.hasNext()) {
                 AxisService axisService = (AxisService) servics.next();
-
-                allServices.put(axisService.getName(), axisService);
+                addToAllServicesMap(axisService.getName(), axisService);
             }
         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org