[jbossws-commits] JBossWS SVN: r12761 - in stack/cxf/branches/cxf-2.3/modules: testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf and 1 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Sat Aug 7 21:41:56 EDT 2010


Author: alessio.soldano at jboss.com
Date: 2010-08-07 21:41:55 -0400 (Sat, 07 Aug 2010)
New Revision: 12761

Added:
   stack/cxf/branches/cxf-2.3/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf/jbws3098/
Modified:
   stack/cxf/branches/cxf-2.3/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/BusHolder.java
   stack/cxf/branches/cxf-2.3/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java
   stack/cxf/branches/cxf-2.3/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf/jbws3098/BusHolderLifeCycleTestCase.java
Log:
svn merge -r 12759:12760 https://svn.jboss.org/repos/jbossws/stack/cxf/trunk .


Modified: stack/cxf/branches/cxf-2.3/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/BusHolder.java
===================================================================
--- stack/cxf/branches/cxf-2.3/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/BusHolder.java	2010-08-08 01:32:36 UTC (rev 12760)
+++ stack/cxf/branches/cxf-2.3/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/BusHolder.java	2010-08-08 01:41:55 UTC (rev 12761)
@@ -25,6 +25,8 @@
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.binding.soap.SoapTransportFactory;
+import org.apache.cxf.buslifecycle.BusLifeCycleListener;
+import org.apache.cxf.buslifecycle.BusLifeCycleManager;
 import org.apache.cxf.configuration.Configurer;
 import org.apache.cxf.resource.ResourceManager;
 import org.apache.cxf.resource.ResourceResolver;
@@ -47,6 +49,7 @@
 {
    public static final String PARAM_CXF_BEANS_URL = "jbossws.cxf.beans.url";
    protected Bus bus;
+   protected BusHolderLifeCycleListener busHolderListener;
    
    public BusHolder()
    {
@@ -68,6 +71,9 @@
     */
    public void configure(SoapTransportFactory soapTransportFactory, ResourceResolver resolver, Configurer configurer)
    {
+      busHolderListener = new BusHolderLifeCycleListener();
+      bus.getExtension(BusLifeCycleManager.class).registerLifeCycleListener(busHolderListener);
+      
       if (configurer != null)
       {
          bus.setExtension(configurer, Configurer.class);
@@ -84,7 +90,12 @@
     */
    public void close()
    {
-      
+      //call bus shutdown unless the listener tells us shutdown has already been asked
+      if (busHolderListener != null && !busHolderListener.isPreShutdown())
+      {
+         bus.shutdown(true);
+      }
+      busHolderListener = null;
    }
    
    /**
@@ -143,4 +154,32 @@
    {
       this.bus = bus;
    }
+   
+   private class BusHolderLifeCycleListener implements BusLifeCycleListener
+   {
+      private volatile boolean preShutdown = false;
+
+      public boolean isPreShutdown()
+      {
+         return preShutdown;
+      }
+
+      @Override
+      public void initComplete()
+      {
+         //NOOP
+      }
+
+      @Override
+      public void preShutdown()
+      {
+         preShutdown = true;
+      }
+
+      @Override
+      public void postShutdown()
+      {
+         //NOOP
+      }
+   }
 }

Modified: stack/cxf/branches/cxf-2.3/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java
===================================================================
--- stack/cxf/branches/cxf-2.3/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java	2010-08-08 01:32:36 UTC (rev 12760)
+++ stack/cxf/branches/cxf-2.3/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java	2010-08-08 01:41:55 UTC (rev 12761)
@@ -122,10 +122,13 @@
       
       for (EndpointImpl endpoint : endpoints)
       {
-         endpoint.stop();
+         if (endpoint.isPublished())
+         {
+            endpoint.stop();
+         }
       }
       endpoints.clear();
-      bus.shutdown(true);
+      
       super.close();
    }
 

Copied: stack/cxf/branches/cxf-2.3/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf/jbws3098 (from rev 12760, stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf/jbws3098)

Modified: stack/cxf/branches/cxf-2.3/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf/jbws3098/BusHolderLifeCycleTestCase.java
===================================================================



More information about the jbossws-commits mailing list