【发布时间】:2015-05-05 11:50:20
【问题描述】:
我正在使用 Jetty HTTP Client (v9.2.5) 发送 HTTP 请求 它适用于 HTTP 请求 {Post,Get,...} 但是当我发送 HTTPS 请求帖子时,我看到了这个
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118)
at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101)
at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:642)
我的功能是
private Object sendHttpPOSTRequest(String url, List<Header> headers,
String content, HttpMethod method) {
try {
HttpClient client = new HttpClient();
client.setMaxConnectionsPerDestination(16);
client.setAddressResolutionTimeout(5000);
client.setConnectTimeout(5000);
client.setMaxRedirects(3);
client.setFollowRedirects(true);
client.setExecutor(_executor);
client.start();
Request req = client.POST(url).content(
new StringContentProvider(content));
if (headers != null)
req = setHeaders(req, headers);
req.header(HttpHeader.CONTENT_TYPE, "application/json");
return req.send();
} catch (Exception e) {
e.printStackTrace();
return "Failed";
}
}
怎么了?
【问题讨论】:
-
你的客户端在哪里初始化?
-
你的 _executor 是在哪里定义的?
-
在类的顶部定义 private ExecutorService _executor = Executors.newCachedThreadPool();
标签: java https httpclient jetty-9