Author: dkulp Date: Wed Feb 15 19:24:19 2012 New Revision: 1244668 URL: http://svn.apache.org/viewvc?rev=1244668&view=rev Log: Merged revisions 1244663 via svn merge from https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes
........ r1244663 | dkulp | 2012-02-15 14:21:21 -0500 (Wed, 15 Feb 2012) | 9 lines Merged revisions 1244652 via svn merge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1244652 | dkulp | 2012-02-15 14:13:05 -0500 (Wed, 15 Feb 2012) | 1 line [CXF-4094] Put a guard around the closing of the context. ........ ........ Added: cxf/branches/2.4.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/bus/basic.xml - copied unchanged from r1244663, cxf/branches/2.5.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/bus/basic.xml Modified: cxf/branches/2.4.x-fixes/ (props changed) cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBusFactory.java cxf/branches/2.4.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/bus/SpringBusFactoryTest.java Propchange: cxf/branches/2.4.x-fixes/ ('svn:mergeinfo' removed) Propchange: cxf/branches/2.4.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java?rev=1244668&r1=1244667&r2=1244668&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java (original) +++ cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java Wed Feb 15 19:24:19 2012 @@ -41,7 +41,7 @@ public class SpringBus extends Extension implements ApplicationContextAware, ApplicationListener { AbstractApplicationContext ctx; - + boolean closeContext; public SpringBus() { } @@ -86,7 +86,6 @@ public class SpringBus extends Extension } ac = ac.getParent(); } - if (doIt) { if (event instanceof ContextRefreshedEvent) { initialize(); @@ -97,7 +96,9 @@ public class SpringBus extends Extension } public void destroyBeans() { - ctx.close(); + if (closeContext) { + ctx.close(); + } super.destroyBeans(); } @@ -117,4 +118,8 @@ public class SpringBus extends Extension return id; } + public void setCloseContext(boolean b) { + closeContext = b; + } + } Modified: cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBusFactory.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBusFactory.java?rev=1244668&r1=1244667&r2=1244668&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBusFactory.java (original) +++ cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBusFactory.java Wed Feb 15 19:24:19 2012 @@ -80,6 +80,10 @@ public class SpringBusFactory extends Bu initializeBus(bus); registerApplicationContextLifeCycleListener(bus, bac); + + if (bus instanceof SpringBus && defaultBusNotExists()) { + ((SpringBus)bus).setCloseContext(true); + } return bus; } Modified: cxf/branches/2.4.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/bus/SpringBusFactoryTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/bus/SpringBusFactoryTest.java?rev=1244668&r1=1244667&r2=1244668&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/bus/SpringBusFactoryTest.java (original) +++ cxf/branches/2.4.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/bus/SpringBusFactoryTest.java Wed Feb 15 19:24:19 2012 @@ -64,6 +64,19 @@ public class SpringBusFactoryTest extend checkBindingExtensions(bus); checkHTTPTransportFactories(bus); checkOtherCoreExtensions(bus); + ctx.destroy(); + } + @Test + public void testLoadBusWithApplicationContext() throws BusException { + ClassPathXmlApplicationContext ctx = + new ClassPathXmlApplicationContext(new String[] {"/org/apache/cxf/systest/bus/basic.xml"}); + Bus bus = ctx.getBean("cxf", Bus.class); + ctx.refresh(); + bus = ctx.getBean("cxf", Bus.class); + checkBindingExtensions(bus); + checkHTTPTransportFactories(bus); + checkOtherCoreExtensions(bus); + ctx.destroy(); } private void checkBindingExtensions(Bus bus) throws BusException {
