可以通过camel cxf uri选项设置客户端超时吗?
可以设置cxf://someAddress?[options]
,其中options可以是properties.XXX。
有可能以某种方式设置http客户端接收超时?
我尝试了很多(在源代码或谷歌中找到),但没有人工作:
properties.com.sun.xml.ws.request.timeout
properties.com.sun.xml.internal.ws.request.timeout
properties.javax.xml.ws.client.receiveTimeout
properties.org.apache.cxf.jms.client.timeout
properties.org.apache.cxf.transport.http.async.SO_TIMEOUT
properties.conduit.client.ReceiveTimeout
properties.org.apache.cxf.transports.http.configuration.client.ReceiveTimeout
properties.http-conf:client.ReceiveTimeout
properties.HTTPClientPolicy.ReceiveTimeout
properties.org.apache.cxf.http.conduits.client.ReceiveTimeout
properties.org.apache.cxf.http.conduit.client.ReceiveTimeout
properties.org.apache.cxf.transports.http.configuration.HTTPClientPolicy.ReceiveTimeout
我知道sprinx xml是可行的,但我想通过Talend上下文配置它。
我也知道我可以通过CxfEndpointConfigurer bean配置cxf客户端,但是camel 2.13(无法升级)没有configureClient方法。
感谢您的回答。
答案 0 :(得分:0)
如this document中所述,您可以配置HTTP客户端以设置超时
<http-conf:conduit name="{http://apache.org/hello_world_soap_http}SoapPort.http-conduit">
<http-conf:client Connection="Keep-Alive"
MaxRetransmits="1"
AllowChunking="false"
ConnectionTimeout="60000"
ReceiveTimeout="60000"/>
</http-conf:conduit>
答案 1 :(得分:0)
也许您需要使用RouteBuilder,在您的路线中使用java变量。
Tyr做这样的事情:
from("cxf://someAddress?[options]?timeout=${yourTimeOutVariable}")