gpt4 book ai didi

java - 如何在 Java 11 http 客户端中保持连接

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:54 26 4
gpt4 key购买 nike

我将 Java 11 HttpClient 与 HTTP/2 结合使用,需要保持连接几分钟,但构建器没有设置它的选项。有没有办法指定它并让客户端保持连接一段时间?

最佳答案

如果您构建一个标准的 HttpClient,例如使用 HttpClient.newHttpClient(); 默认创建一个连接池。默认情况下,此池使连接保持 Activity 状态 1200 秒(20 分钟)。

如果您想更改保持 Activity 超时,您可以使用属性 jdk.httpclient.keepalive.timeout 来实现。然而,当加载类 jdk.internal.net.http.ConnectionPool 时,该值只会被读取一次。之后就不能再更改了。

因此您必须为整个 JVM 设置此属性:

-Djdk.httpclient.keepalive.timeout=99999

或者在 ConnectionPool 类加载之前的运行时:

System.setProperty("jdk.httpclient.keepalive.timeout", "99999");

第三种选择是使用名为 ${java.home}/conf/net.properties 的文件并在其中设置属性。

关于java - 如何在 Java 11 http 客户端中保持连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53617574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com