[jboss-svn-commits] JBL Code SVN: r24890 - labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 23 11:02:13 EST 2009


Author: kevin.conner at jboss.com
Date: 2009-01-23 11:02:13 -0500 (Fri, 23 Jan 2009)
New Revision: 24890

Modified:
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployment.java
Log:
manage lifecycle resources on creation/destruction: JBESB-2307

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java	2009-01-23 14:43:58 UTC (rev 24889)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java	2009-01-23 16:02:13 UTC (rev 24890)
@@ -120,8 +120,20 @@
              ManagedLifecycleController controller = new ManagedLifecycleController(instances);
 
              // In parallel, create a map of the contract publication info...
-             ServicePublisher.addServicePublishers(controller, generator.getModel());
-             ServicePublisher.addContractReferencePublishers(controller, publishers) ;
+             boolean success = false ;
+             try
+             {
+                 ServicePublisher.addServicePublishers(controller, generator.getModel());
+                 ServicePublisher.addContractReferencePublishers(controller, publishers) ;
+                 success = true ;
+             }
+             finally
+             {
+                 if (!success)
+                 {
+                     ServicePublisher.removeServicePublishers(controller) ;
+                 }
+             }
             return controller;
          }
          else

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployment.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployment.java	2009-01-23 14:43:58 UTC (rev 24889)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployment.java	2009-01-23 16:02:13 UTC (rev 24890)
@@ -91,6 +91,16 @@
    @Override
    public void createService()
    {
+      ClassLoader old = Thread.currentThread().getContextClassLoader();
+      try
+      {
+         Thread.currentThread().setContextClassLoader(classloader);
+         LifecycleResourceManager.getSingleton().associateDeployment(deploymentName) ;
+      }
+      finally
+      {
+         Thread.currentThread().setContextClassLoader(old);
+      }
    }
 
    @Override
@@ -100,7 +110,6 @@
       try
       {
          Thread.currentThread().setContextClassLoader(classloader);
-         LifecycleResourceManager.getSingleton().associateDeployment(deploymentName) ;
          controller = Configuration.create(jbossEsbXml, serviceName, publishers);
          controller.start();
       }
@@ -118,15 +127,28 @@
       try
       {
          Thread.currentThread().setContextClassLoader(classloader);
-         ServicePublisher.removeServicePublishers(controller);          
+         ServicePublisher.removeServicePublishers(controller);
          controller.stop();
       }
       finally
       {
+         Thread.currentThread().setContextClassLoader(old);
+      }
+   }
+
+   @Override
+   public void destroyService() throws Exception
+   {
+      ClassLoader old = Thread.currentThread().getContextClassLoader();
+      try
+      {
+         Thread.currentThread().setContextClassLoader(classloader);
          LifecycleResourceManager.getSingleton().disassociateDeployment(deploymentName) ;
          LifecycleResourceManager.getSingleton().destroyResources() ;
+      }
+      finally
+      {
          Thread.currentThread().setContextClassLoader(old);
       }
    }
-
 }




More information about the jboss-svn-commits mailing list