Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jdk.incubator.httpclient中的NullPointerException_Java_Http_Nullpointerexception_Java 10_Java Http Client - Fatal编程技术网

Java jdk.incubator.httpclient中的NullPointerException

Java jdk.incubator.httpclient中的NullPointerException,java,http,nullpointerexception,java-10,java-http-client,Java,Http,Nullpointerexception,Java 10,Java Http Client,我正在尝试使用JDK10中新的闪亮的httpclient。 代码非常简单。我使用多线程的同步HTTP调用: private final HttpClient httpClient = HttpClient.newBuilder() .executor(Utils.newFixedThreadPoolExecutor(1, "HttpClient")) .build(); private JsonObject useHttpClient(URL url, Stri

我正在尝试使用JDK10中新的闪亮的httpclient。 代码非常简单。我使用多线程的同步HTTP调用:

private final HttpClient httpClient = HttpClient.newBuilder()
        .executor(Utils.newFixedThreadPoolExecutor(1, "HttpClient"))
        .build();

private JsonObject useHttpClient(URL url, String params) throws Exception {
    HttpRequest req = HttpRequest.newBuilder()
            .uri(url.toURI())
            .setHeader("Connection", "keep-alive")
            .setHeader("Accept-Encoding", "gzip")
            .timeout(timeout)
            .POST(HttpRequest.BodyPublisher.fromString(params))
            .build();
    HttpResponse<InputStream> response = httpClient.send(req, HttpResponse.BodyHandler.asInputStream());
    if (response.statusCode() != 200) {
        throw new IOException("Server returned " + response.statusCode());
    }
    String encoding = response.headers().firstValue("content-encoding").orElse("");
    return parseResponseStream(encoding, response.body());
}
我的代码有问题吗?出现这种异常的原因是什么

C:\Program Files\Java\jdk-10\bin>java -version
java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
我的代码有问题吗

作为熟悉JDK HTTP客户端API的人,我看不出您发布的代码有任何具体问题

出现这种异常的原因是什么

C:\Program Files\Java\jdk-10\bin>java -version
java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
出现异常的原因是JDK HTTP客户端HPACK代码中的一个错误。在您的代码中,您无法解决它


关于JDK HPACK bug的具体信息可以在以下位置找到(复制上述OpenJDK JIRA问题中的技术信息,此处不会增加价值,并且可能很快过时)

哪行代码抛出NPE?你能分享一个可复制的代码和一个完整的堆栈跟踪吗?@nullpointer NPE来自
send
方法。异常的堆栈跟踪不包含我的代码。我认为这是httpclient的特性(它在内部运行异步请求),感谢您报告这个问题。这确实是JDK HTTP客户端代码中的一个bug。已提交以下JIRA以跟踪它: