java - 我可以全局设置 HTTP 连接的超时时间吗?

标签 java google-app-engine wsdl httpurlconnection urlconnection

我有一个程序使用 javax.xml.ws.Service 来调用由 WSDL 定义的远程服务。该程序在 Google App Engine 上运行,默认情况下,它会将 HTTP 连接超时设置为 5 秒{1}。我需要增加此超时值,因为此服务通常需要很长时间才能响应,但由于此请求不是使用 URLConnection 发出的,我不知道如何调用 URLConnection.setReadTimeout( int){2},或以其他方式更改超时。

有没有办法在 App Engine 上全局设置 HTTP 连接超时?并且,为了分享知识,人们一般会如何解决这类问题?

{1}:https://developers.google.com/appengine/docs/java/urlfetch/overview#Requests

{2}:http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLConnection.html#setReadTimeout(int)

最佳答案

您可以尝试设置记录在 sun.net.client.defaultConnectTimeoutsun.net.client.defaultReadTimeout 系统属性 here ,例如

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

编辑

抱歉,刚刚重新阅读并注意到这是在 Google App Engine 上。我不确定,但考虑到 Google 和 Oracle 最近的诉讼关系,我猜 GAE 不会运行 Oracle JVM。我会把它留在这里以防其他人遇到类似的问题。

关于java - 我可以全局设置 HTTP 连接的超时时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9934970/

相关文章:

python - python google app engine中的断开链接图像

java - 将自定义对象传递给 Arrays.asList

java - 在运行时从上传的文件覆盖 JCombox 值

java - Servlet 映射在 Google App Engine 中不起作用

python - zeep Client() 调用返回错误 : The namespace defined on the xsd:import doesn't match the imported targetNamespace located at:

.net - WCF .svc 可通过 HTTP 访问但访问 WSDL 导致 "Connection Was Reset"

c - 如何使用Axis2c从WSDL文件生成C文件

java - 从原始磁盘镜像读取文件(2352 字节/扇区)

Java包命名方案: Is the TLD really that important?

google-app-engine - 在 Google 应用引擎上部署 Mahout