gpt4 book ai didi

java - Jackson JSON如何设置http连接和读取超时

转载 作者:搜寻专家 更新时间:2023-10-31 19:44:48 25 4
gpt4 key购买 nike

(jersey-common=2.21.0, jackson-core=2.6.1)

如果调用了 createParser(URL url),如何设置 http 连接超时(连接、读取)?使用的默认值是什么?

    JsonFactory jsonF = new JsonFactory();
jsonF.enable(JsonParser.Feature.AUTO_CLOSE_SOURCE);
JsonParser jsonP = jsonF.createParser(url); // URL instance
try {
JsonToken token;
while ( (token=jsonP.nextToken()) != null) {
if (token == JsonToken.START_OBJECT)
..rest "json sax" parser code...
}
} finally {
jsonP.close();
}

当 webapp 停止读取 json 源时,我每周都会遇到几次反复出现的问题,任务每 30 分钟自动运行一次。我怀疑这个 http 调用停止并开始堆积,直到 JVM 出现故障。

我不应该在生产应用中使用 createParser(URL) 函数吗?

最佳答案

你可以破解这些值

System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");

有关设置的更多信息,请访问 https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html

或者您可以改为进行适当的调用,然后将结果传递给 json 解析器。我会选择后者。

所以简单地说,虽然 URL 是很好的轻量级替代方案,但我建议切换到 apache http 客户端或一些高级解决方案。

关于java - Jackson JSON如何设置http连接和读取超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34166611/

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