如何在Web服务客户端应用程序中将默认的全局Java套接字超时设置为Java参数(不设置读取超时)?

时间:2019-06-03 11:49:11

标签: java scala web-services web socket-timeout-exception

我有一个SOAP Web服务客户端应用程序(Scala),它使用Java wsimport -verbose -Xnocompile命令生成的客户端存根。

在现有应用程序中,通过使用build.sbt文件中的外部Java参数来设置http超时,如下所示。

bashScriptExtraDefines += "addJava \"-Dsun.net.client.defaultReadTimeout=300000\"\n"

bashScriptExtraDefines += "addJava \"-Dsun.net.client.defaultConnectTimeout=300000\"\n"

此处仅为ReadTimeout和ConnectTimeout提供默认的Timeout值。现在,我需要一种像上面那样专门设置SO超时的方法。 当我搜索堆栈溢出答案时,我只能找到有关仅设置读取超时和连接超时而不是套接字超时的答案。 https://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html

在Java 8文档中,它也提到了读取超时和连接超时,而不是超时。

sun.net.client.defaultConnectTimeout (default: -1)
sun.net.client.defaultReadTimeout (default: -1)
These properties specify the default connect and read timeout (resp.) for the protocol handler used by java.net.URLConnection.
sun.net.client.defaultConnectTimeout specifies the timeout (in milliseconds) to establish the connection to the host. For example for http connections it is the timeout when establishing the connection to the http server. For ftp connection it is the timeout when establishing the connection to ftp servers.

无论如何,我们是否可以使用build.sbt中的Java参数专门设置SO超时?

0 个答案:

没有答案