0
在Java中使用DSL RequestConfig http4客戶
所以,我有一個route
基本上看起來像這 -添加套接字超時在駱駝
from("direct:send_success")
.to("http4://localhost:8089/mock/success?httpClient.socketTimeout=1000");
使用這種方式,我能申請1秒的套接字超時成功。我正在使用ProducerTemplate
來調用此路線。這很好。但是,當我改變TO-
from("direct:send_success")
.to("http4://localhost:8089/mock/success");
的路由和路由調用TO-
ProducerTemplate pt = ctx.createProducerTemplate();
Exchange ex = pt.send("direct:send_success", exOb -> {
HttpComponent httpComp = exOb.getContext().getComponent("http4", HttpComponent.class);
exOb.getContext().getComponent("http4", HttpComponent.class).setHttpClientConfigurer(httpClientBuilder -> {
HttpClientBuilder
.create()
.setDefaultRequestConfig(requestConfigWithTimeout(1000))
.build();
});
});
而且requestConfigWithTimeout()
原樣
private static RequestConfig requestConfigWithTimeout(int timeoutInMilliseconds) {
return RequestConfig.copy(RequestConfig.DEFAULT)
.setSocketTimeout(timeoutInMilliseconds)
.build();
}
將不會應用這些超時設置的方法。我哪裏錯了?
好的。我可以在請求頭中使用cxf的'ClientPolicy'對SOAP端點做同樣的事情,所以我想這裏也有一個解決方法。無論如何,感謝您的幫助。 – Abhishek