-
Task
-
Resolution: Done
-
Major
-
jbossws-cxf-3.3.0.CR2
-
None
CXF's ConfigurerImpl has the addApplicationContext(ApplicationContext ac) method to update the Spring appllicationContext , when the bus loads new SpringBeans. JBossWSCXFConfigurer delegates the configuration work to CXF's ConfigurerImpl and not extend ConfigurerImpl .
In BusWiringBeanFactoryPostProcessor(invoked by JAXWSDefinitionParser when parse the <jaxws:endpoint>), there is code to call the addApplicationContext only if the Configuer instance is ConfiguerImpl:
public static void updateBusReferencesInContext(Bus bus, ApplicationContext ctx) {
Configurer conf = bus.getExtension(Configurer.class);
if (conf instanceof ConfigurerImpl)
}
So after set the JBossWSCXFConfigurer for the CXF configuer , the BusDeploymentAspect fails to configure the logger interceptor to this endpoint in this sample:
<beans >
<!-Configure the logger interceptor by service name autowire->
<bean name="
HelloService"
abstract="true">
<property name="inInterceptors">
<list>
<bean
class="org.apache.cxf.jaxws.LoggerInteceptor">
<constructor-arg value="service-in" />
</bean>
</list>
</property>
</bean>
<jaxws:endpoint
implementor='org.jboss.ws.jaxws.samples.EndpointImpl
transportId="http://cxf.apache.org/transports/jms">
</jaxws:endpoint>
</beans>