我遇到了一个问题,我的应用程序中涉及 http 和 ftp 连接的各个地方在 java.net.SocketInputStream.socketRead0 上无限期挂起(在杀死 java 进程之前一次观察数小时)。
我想全局覆盖默认套接字超时 0,这样我就不必在启动连接的每个位置都设置它。是否有一些全局 Java 属性或方法可以调用以将默认套接字超时设置为 0 以外的值?
这取决于您的应用程序如何创建套接字。如果您的应用程序代码使用 URLConnection,那么您可以使用 JVM 属性设置默认超时:
-Dsun.net.client.defaultReadTimeout=30000
-Dsun.net.client.defaultConnectTimeout=5000
Run Code Online (Sandbox Code Playgroud)
此属性是特定于实现的,但仍适用于最新的 Oracle/OpenJDK。
https://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html
| 归档时间: |
|
| 查看次数: |
9218 次 |
| 最近记录: |