[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