CXF async client does not get all response callback back in Fuse 6.1

Solution Verified - Updated -

Issue

  • When sending a big number of request (1000 in the test), not getting 1000 response callbacks every time. Sometimes, some responses are lost.

  • The test sometimes succeeds and sometimes fails. When debugging in the internals of the java async client, we see that all responses are received but somehow, they are not all forwarded back to the CXF layer, and thus to the CXF client.

  • The expectation is that, if approx ~ 1000 requests are fired, we should get all the 1000 response callbacks from the CXF's Async client.
    This happens sometimes, but testing this everytime, some 4-5 times, the response callbacks seem to be lost.

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(clazz);
factory.setAddress(address);
T client = (T) factory.create();

Client c = ClientProxy.getClient(client);
AsyncHTTPConduit conduit = (AsyncHTTPConduit) c.getConduit();
HTTPClientPolicy policy = conduit.getClient();
conduit.setClient(policy);

Environment

  • Red Hat JBoss Fuse
    • 6.x
  • Apache CXF

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content