Author: ningjiang
Date: Tue Jan 21 11:55:43 2014
New Revision: 1559989

URL: http://svn.apache.org/r1559989
Log:
CXF-5505 SpringBus should shutdown the bus when the application context is 
closed 

Modified:
    
cxf/branches/2.7.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
    
cxf/branches/2.7.x-fixes/rt/core/src/test/java/org/apache/cxf/bus/spring/SpringBusFactoryTest.java

Modified: 
cxf/branches/2.7.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java?rev=1559989&r1=1559988&r2=1559989&view=diff
==============================================================================
--- 
cxf/branches/2.7.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
 (original)
+++ 
cxf/branches/2.7.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
 Tue Jan 21 11:55:43 2014
@@ -21,7 +21,6 @@ package org.apache.cxf.bus.spring;
 
 import org.apache.cxf.bus.BusState;
 import org.apache.cxf.bus.extension.ExtensionManagerBus;
-import org.apache.cxf.buslifecycle.BusLifeCycleManager;
 import org.apache.cxf.configuration.ConfiguredBeanLocator;
 import org.apache.cxf.configuration.Configurer;
 import org.apache.cxf.configuration.spring.ConfigurerImpl;
@@ -109,8 +108,10 @@ public class SpringBus extends Extension
                 if (getState() != BusState.RUNNING) {
                     initialize();
                 }
-            } else if (event instanceof ContextClosedEvent) {
-                getExtension(BusLifeCycleManager.class).postShutdown();
+            } else if (event instanceof ContextClosedEvent && getState() == 
BusState.RUNNING) {
+                // The bus could be create by using 
SpringBusFactory.createBus("/cxf.xml"); 
+                // Just to make sure the shutdown is called rightly 
+                shutdown(); 
             }
         }
     }

Modified: 
cxf/branches/2.7.x-fixes/rt/core/src/test/java/org/apache/cxf/bus/spring/SpringBusFactoryTest.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/core/src/test/java/org/apache/cxf/bus/spring/SpringBusFactoryTest.java?rev=1559989&r1=1559988&r2=1559989&view=diff
==============================================================================
--- 
cxf/branches/2.7.x-fixes/rt/core/src/test/java/org/apache/cxf/bus/spring/SpringBusFactoryTest.java
 (original)
+++ 
cxf/branches/2.7.x-fixes/rt/core/src/test/java/org/apache/cxf/bus/spring/SpringBusFactoryTest.java
 Tue Jan 21 11:55:43 2014
@@ -97,6 +97,14 @@ public class SpringBusFactoryTest extend
         Bus bus = new SpringBusFactory().createBus(cfgFile, true);
         checkCustomerConfiguration(bus);
     }
+
+    @Test 
+    public void testCustomerBusShutdown() { 
+        String cfgFile = "org/apache/cxf/bus/spring/customerBus.xml"; 
+        Bus bus = new SpringBusFactory().createBus(cfgFile, true); 
+        // We have three bus here, which should be closed rightly 
+        bus.shutdown(true); 
+    } 
     
     @Test
     public void testCustomFileURLFromSystemProperty() {


Reply via email to