Apache流畅的API允许简单的单行http调用,如:
String content = Request.Get(url).execute().returnContent().asString();
由...fluent.Executor执行,其javadoc说:
一个PoolingHttpClientConnectionManager,每个路由最多100个连接,内部最多使用200个连接
我想更改用于特定呼叫的最大连接参数,但我找不到访问上述代码使用的连接管理器的方法。我试过了:
Executor.newInstance().execute(Request.Get("")).returnContent().asString();
但无法在Executor
返回的Executor.newInstance()
上更改这些参数。
是否可以使用流畅的API,但使用自定义最大连接值?
答案 0 :(得分:2)
可以将流程执行器的实例绑定到任意HttpClient实例
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
CloseableHttpClient client = HttpClients.custom()
.setConnectionManager(cm)
.build();
cm.setDefaultMaxPerRoute(15);
Executor.newInstance(client).execute(Request.Get("/")).discardContent();