Hi

You are right, it is a new code which was added to avoid some synchronization issues in case of the async client invocations.

FYI, the existing CXF RS oneway tests still work with this code but only because the client does set a oneway CXF exchange status before the invocation, in case of the proxy it is done if a CXF @OneWay method annotation is available, in case of WebClient if a 'OnewayRequest' HTTP header is set.

I'm going to fix it shortly:
https://issues.apache.org/jira/browse/CXF-7113

Cheers, Sergey
On 03/11/16 10:16, Preben.Asmussen wrote:
I debugged a bit to get closer.

The root problem is in org.apache.cxf.jaxrs.client.AbstractClient as the
threaddump shows

the block in line 564 gets activated

        if (ex == null && !exchange.isOneWay()) {
            synchronized (exchange) {
                while (exchange.get("IN_CHAIN_COMPLETE") == null) {
                    exchange.wait(cfg.getSynchronousTimeout());
                }
            }
        }

The exchange.isOneWay returns false. Shouldn't it return true since it's a
inonly exchange ???
And the while loop continues infinite since IN_CHAIN_COMPLETE is allways
null

/Preben





--
View this message in context: 
http://camel.465427.n5.nabble.com/cxf-rs-deadlock-waiting-for-response-tp5789687p5789692.html
Sent from the Camel - Users mailing list archive at Nabble.com.



--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Reply via email to