I am trying to set the \'connectionTimeout\' for a Camel CXF-RS component here which produces a RESTful requests on a 3rd party service. The default 30000
milis
Adding the http-conf:conduit
element in application-context
as you did is the way to go and should work. What makes you say it does not?
Quite often a backend server take too long to answer, after the connection is made; in this case setting ReceiveTimeout
is as important as ConnectionTimeout
.
This is a sample camel Route which consumes RS requests and calls a third-party RS server; the ReceiveTimeout and ConnectionTimeout parameters work as expected.
<cxf:rsServer id="rsFrontServer" address="..." serviceClass="..."/>
<cxf:rsClient id="rsBackendClient" address=".../" serviceClass="..."/>
<http-conf:conduit name="*.http-conduit">
<http-conf:client ReceiveTimeout="5000" ConnectionTimeout="5000"/>
</http-conf:conduit>
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route id="front">
<from uri="cxfrs:bean:rsFrontServer"/>
<!-- do stuff -->
<to uri="cxfrs:bean:rsBackendClient"/>
</route>
</camelContext>