Author: asoldano
Date: 2014-01-28 15:05:05 -0500 (Tue, 28 Jan 2014)
New Revision: 18285
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/BusHolder.java
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/SpringBusHolder.java
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/aspect/BusDeploymentAspect.java
stack/cxf/trunk/modules/server/src/test/java/org/jboss/wsf/stack/cxf/configuration/BusHolderTest.java
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf/jbws3098/BusHolderLifeCycleTestCase.java
Log:
[JBWS-3737] Do not try building PolicyAttachmentStore when there's no @PolicySets
annotated class in the deployment
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/BusHolder.java
===================================================================
---
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/BusHolder.java 2014-01-28
19:58:30 UTC (rev 18284)
+++
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/BusHolder.java 2014-01-28
20:05:05 UTC (rev 18285)
@@ -48,7 +48,10 @@
import org.apache.cxf.ws.policy.AlternativeSelector;
import org.apache.cxf.ws.policy.PolicyEngine;
import org.apache.cxf.ws.policy.selector.MaximalAlternativeSelector;
+import org.jboss.ws.api.annotation.PolicySets;
import org.jboss.ws.api.binding.BindingCustomization;
+import org.jboss.wsf.spi.deployment.AnnotationsInfo;
+import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.webservices.JBossWebservicesMetaData;
@@ -95,9 +98,9 @@
* @param resolver The ResourceResolver to configure, if any
* @param configurer The JBossWSCXFConfigurer to install in the bus, if
any
* @param wsmd The current JBossWebservicesMetaData, if any
- * @param depRuntimeClassLoader The current deployment classloader
+ * @param dep The current deployment
*/
- public void configure(ResourceResolver resolver, Configurer configurer,
JBossWebservicesMetaData wsmd, ClassLoader depRuntimeClassLoader)
+ public void configure(ResourceResolver resolver, Configurer configurer,
JBossWebservicesMetaData wsmd, Deployment dep)
{
bus.setProperty(org.jboss.wsf.stack.cxf.client.Constants.DEPLOYMENT_BUS, true);
busHolderListener = new BusHolderLifeCycleListener();
@@ -124,8 +127,11 @@
setAdditionalWorkQueues(bus, props);
setWSDiscovery(bus, props);
- policySetsListener = new PolicySetsAnnotationListener(depRuntimeClassLoader);
-
bus.getExtension(FactoryBeanListenerManager.class).addListener(policySetsListener);
+ AnnotationsInfo ai = dep.getAttachment(AnnotationsInfo.class);
+ if (ai == null || ai.hasAnnotatedClasses(PolicySets.class.getName())) {
+ policySetsListener = new
PolicySetsAnnotationListener(dep.getRuntimeClassLoader());
+
bus.getExtension(FactoryBeanListenerManager.class).addListener(policySetsListener);
+ }
}
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java
===================================================================
---
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java 2014-01-28
19:58:30 UTC (rev 18284)
+++
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java 2014-01-28
20:05:05 UTC (rev 18285)
@@ -37,6 +37,7 @@
import org.apache.cxf.ws.addressing.WSAddressingFeature;
import org.apache.cxf.ws.rm.RMManager;
import org.jboss.ws.api.binding.BindingCustomization;
+import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.webservices.JBossWebservicesMetaData;
@@ -79,16 +80,16 @@
* @param resolver The ResourceResolver to configure, if any
* @param configurer The JBossWSCXFConfigurer to install in the bus, if
any
* @param wsmd The current JBossWebservicesMetaData, if any
- * @param depRuntimeClassLoader The current deployment classloader
+ * @param dep The current deployment
*/
@Override
- public void configure(ResourceResolver resolver, Configurer configurer,
JBossWebservicesMetaData wsmd, ClassLoader depRuntimeClassLoader)
+ public void configure(ResourceResolver resolver, Configurer configurer,
JBossWebservicesMetaData wsmd, Deployment dep)
{
if (configured)
{
throw Messages.MESSAGES.busAlreadyConfigured(bus);
}
- super.configure(resolver, configurer, wsmd, depRuntimeClassLoader);
+ super.configure(resolver, configurer, wsmd, dep);
for (DDEndpoint dde : metadata.getEndpoints())
{
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/SpringBusHolder.java
===================================================================
---
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/SpringBusHolder.java 2014-01-28
19:58:30 UTC (rev 18284)
+++
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/SpringBusHolder.java 2014-01-28
20:05:05 UTC (rev 18285)
@@ -39,6 +39,7 @@
import org.apache.cxf.transport.http.HttpDestinationFactory;
import org.apache.cxf.transport.servlet.ServletDestinationFactory;
import org.jboss.ws.api.binding.BindingCustomization;
+import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.webservices.JBossWebservicesMetaData;
@@ -121,16 +122,16 @@
* @param configurer The JBossWSCXFConfigurer to install in the bus, if
any
* @param dep The current JBossWS-SPI Deployment
* @param wsmd The current JBossWebservicesMetaData, if any
- * @param depRuntimeClassLoader The current deployment classloader
+ * @param dep The current deployment
*/
@Override
- public void configure(ResourceResolver resolver, Configurer configurer,
JBossWebservicesMetaData wsmd, ClassLoader depRuntimeClassLoader)
+ public void configure(ResourceResolver resolver, Configurer configurer,
JBossWebservicesMetaData wsmd, Deployment dep)
{
if (configured)
{
throw MESSAGES.busAlreadyConfigured(ctx);
}
- super.configure(resolver, configurer, wsmd, depRuntimeClassLoader);
+ super.configure(resolver, configurer, wsmd, dep);
GenericApplicationContext jbosswsCxfContext = null;
//load stuff from provided jbossws-cxf.xml DD
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/aspect/BusDeploymentAspect.java
===================================================================
---
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/aspect/BusDeploymentAspect.java 2014-01-28
19:58:30 UTC (rev 18284)
+++
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/aspect/BusDeploymentAspect.java 2014-01-28
20:05:05 UTC (rev 18285)
@@ -132,7 +132,7 @@
Configurer configurer =
holder.createServerConfigurer(dep.getAttachment(BindingCustomization.class),
new WSDLFilePublisher(aDep), dep.getService().getEndpoints(),
aDep.getRootFile(), epConfigName, epConfigFile);
- holder.configure(resolver, configurer, wsmd, dep.getRuntimeClassLoader());
+ holder.configure(resolver, configurer, wsmd, dep);
dep.addAttachment(BusHolder.class, holder);
}
finally
Modified:
stack/cxf/trunk/modules/server/src/test/java/org/jboss/wsf/stack/cxf/configuration/BusHolderTest.java
===================================================================
---
stack/cxf/trunk/modules/server/src/test/java/org/jboss/wsf/stack/cxf/configuration/BusHolderTest.java 2014-01-28
19:58:30 UTC (rev 18284)
+++
stack/cxf/trunk/modules/server/src/test/java/org/jboss/wsf/stack/cxf/configuration/BusHolderTest.java 2014-01-28
20:05:05 UTC (rev 18285)
@@ -29,6 +29,7 @@
import org.apache.cxf.ws.policy.PolicyEngine;
import org.apache.cxf.ws.policy.selector.FirstAlternativeSelector;
import org.apache.cxf.ws.policy.selector.MaximalAlternativeSelector;
+import org.jboss.ws.common.deployment.DefaultDeploymentModelFactory;
import org.jboss.wsf.spi.metadata.webservices.JBossWebservicesMetaData;
import org.jboss.wsf.stack.cxf.client.Constants;
import org.jboss.wsf.stack.cxf.metadata.services.DDBeans;
@@ -68,7 +69,7 @@
}
BusHolder holder = new NonSpringBusHolder(new DDBeans());
try {
- holder.configure(null, null, wsmd, null);
+ holder.configure(null, null, wsmd, new
DefaultDeploymentModelFactory().newDeployment("testDeployment", null));
return
holder.getBus().getExtension(PolicyEngine.class).getAlternativeSelector().getClass().getName();
} finally {
holder.close();
Modified:
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf/jbws3098/BusHolderLifeCycleTestCase.java
===================================================================
---
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf/jbws3098/BusHolderLifeCycleTestCase.java 2014-01-28
19:58:30 UTC (rev 18284)
+++
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/cxf/jbws3098/BusHolderLifeCycleTestCase.java 2014-01-28
20:05:05 UTC (rev 18285)
@@ -26,6 +26,7 @@
import org.apache.cxf.Bus;
import org.apache.cxf.buslifecycle.BusLifeCycleListener;
import org.apache.cxf.buslifecycle.BusLifeCycleManager;
+import org.jboss.ws.common.deployment.DefaultDeploymentModelFactory;
import org.jboss.wsf.stack.cxf.client.util.SpringUtils;
import org.jboss.wsf.stack.cxf.configuration.BusHolder;
import org.jboss.wsf.stack.cxf.configuration.NonSpringBusHolder;
@@ -63,7 +64,7 @@
Bus bus = holder.getBus();
TestLifeCycleListener listener = new TestLifeCycleListener();
bus.getExtension(BusLifeCycleManager.class).registerLifeCycleListener(listener);
- holder.configure(null, null, null, null);
+ holder.configure(null, null, null, new
DefaultDeploymentModelFactory().newDeployment("testDeployment", null));
holder.close();
assertEquals("preShutdown method on listener should be called exactly once;
number of actual calls: "
+ listener.getCount(), 1, listener.getCount());
@@ -74,7 +75,7 @@
Bus bus = holder.getBus();
TestLifeCycleListener listener = new TestLifeCycleListener();
bus.getExtension(BusLifeCycleManager.class).registerLifeCycleListener(listener);
- holder.configure(null, null, null, null);
+ holder.configure(null, null, null, new
DefaultDeploymentModelFactory().newDeployment("testDeployment", null));
bus.shutdown(true);
holder.close();
assertEquals("preShutdown method on listener should be called exactly once;
number of actual calls: "
@@ -86,7 +87,7 @@
Bus bus = holder.getBus();
TestLifeCycleListener listener = new TestLifeCycleListener();
bus.getExtension(BusLifeCycleManager.class).registerLifeCycleListener(listener);
- holder.configure(null, null, null, null);
+ holder.configure(null, null, null, new
DefaultDeploymentModelFactory().newDeployment("testDeployment", null));
assertEquals("preShutdown method on listener shouldn't be called before
holder is closed: number of actual calls: "
+ listener.getCount(), 0, listener.getCount());
holder.close();