0
私は約50-60 rest/soap apisを呼び出すWebアプリケーションを持っています。このために、私はJAVA DSLでルートを作成しました。さて、デフォルトのアプリケーションレベルのタイムアウト設定を持つことが、私がやったthis-ルートの宣言時にHTTPクライアントの設定を無効にする
public class DefaultHttpClientConfig implements HttpClientConfigurer { // http4
@Override
public void configureHttpClient(HttpClientBuilder clientBuilder) {
clientBuilder.setDefaultRequestConfig(
RequestConfig.custom()
.setConnectTimeout(1000)
.setSocketTimeout(1000).build());
}
}
のような構成と私は今、個々のルートを作成するときthis-
static CamelContext ctx = new DefaultCamelContext();
static {
try {
HttpComponent httpComponent = ctx.getComponent("http4", HttpComponent.class);
httpComponent.setConnectionTimeToLive(10);
httpComponent.setHttpClientConfigurer(new DefaultHttpClientConfig());
ctx.addRoutes(new DirectRestRouteBuilder());
ctx.start();
} catch (Exception e) {
e.printStackTrace();
}
}
のようなラクダのコンテキストでこれを設定して、私はこれらの設定を上書きしたいので、
from("direct:success")
.to("http4://localhost:8089/mockcarrier/success?httpClient.socketTimeout=8000");
below-示すように、私はこれをしようとしているしかし、JAVA DSLで直接設定をピックアップされていないようです。どこが間違っていますか?