cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <>
Subject [jira] Commented: (CXF-1893) Endpoints end up at the wrong bus when initializing multiple busses in one thread
Date Wed, 11 Nov 2009 03:51:27 GMT


Daniel Kulp commented on CXF-1893:

Is this still an issue with 2.1.7 or 2.2.4?    We've done quite a bit of work on the spring
context stuff to get the properly configured bus injected in.   

> Endpoints end up at the wrong bus when initializing multiple busses in one thread
> ---------------------------------------------------------------------------------
>                 Key: CXF-1893
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: Bus, Core, JAX-WS Runtime
>    Affects Versions: 2.1.3
>            Reporter: Andreas Benneke
> We are using CXF on JBoss 4.2.3 and have an EAR with multiple WARs, each WAR having it's
own cxf-bus and endpoint definition(s):
> <jaxws:endpoint
>       id="endpointId"
>       implementorClass="some.package.SomeClass"
>       implementor="#theImplementorBean"
>       wsdlLocation="service.wsdl"
>       address="/service">
>       <!-- NOTE: no bus="..." specified here! -->
> </jaxws:endpoint>
> Deploying this EAR in JBoss all endpoints end up on one single bus (the first one created)
and all other busses are "empty".
> Looking into the code we found that the org.apache.cxf.jaxws.spring.EndpointDefinitionParser$SpringEndpointImpl
resolves the bus (if none is injected so far) using BusFactory.getThreadDefaultBus(). This
method however returns the first bus created on the current thread. 
> As JBoss initializes the whole EAR in one thread the above situation occures.
> As a workaround/solution we added a bus="cxf" to all endpoints which avoids the resolution
of the bus using the thread:
> <jaxws:endpoint
>       bus="cxf" <!-- workaround -->
>       id="endpointId"
>       implementorClass="some.package.SomeClass"
>       implementor="#TheImplementorBean"
>       wsdlLocation="service.wsdl"
>       address="/service">
> </jaxws:endpoint>
> We however think, that EndpointDefinitionParser$SpringEndpointImpl should try to resolve
the bus using the current application context (by default name, type, whatever) and as a last
fallback use the getThreadDefaultBus().
> Thanks!

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message