Who*_*ome 5 java json jackson tomcat7 jersey-2.0
(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();
}
Run Code Online (Sandbox Code Playgroud)
当webapp停止读取json源时,我每周都会有几次重复出现问题,任务每30分钟自动运行一次.我怀疑这个http调用会停止并开始堆积,直到JVM发生故障.
我不应该在生产应用程序中使用createParser(URL)功能吗?
你可以破解这些值
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
Run Code Online (Sandbox Code Playgroud)
有关设置的更多信息, 请访问 https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html
或者您可以改为进行适当的调用,然后将结果传递给 json 解析器。我会选择后者。
所以简单地说,虽然 URL 是轻量级的替代方案,但我建议切换到 apache http 客户端或一些高级解决方案。
| 归档时间: |
|
| 查看次数: |
1770 次 |
| 最近记录: |