当前位置: 首页 > 知识库问答 >
问题:

IOutils.ToString()异常java.net.SocketTimeoutException:null

杜翰林
2023-03-14

但是在生产服务器上获取java.net.SocketTimeoutException:null,

无法在本地计算机上复制。

下面是堆栈跟踪:

java.net.SocketTimeoutException: null
    at org.apache.tomcat.util.net.NioBlockingSelector.read(NioBlockingSelector.java:202) ~[tomcat-coyote.jar:8.0.42]
    at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:250) ~[tomcat-coyote.jar:8.0.42]
    at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:231) ~[tomcat-coyote.jar:8.0.42]
    at org.apache.coyote.http11.InternalNioInputBuffer.fill(InternalNioInputBuffer.java:133) ~[tomcat-coyote.jar:8.0.42]
    at org.apache.coyote.http11.InternalNioInputBuffer$SocketInputBuffer.doRead(InternalNioInputBuffer.java:177) ~[tomcat-coyote.jar:8.0.42]
    at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:110) ~[tomcat-coyote.jar:8.0.42]
    at org.apache.coyote.http11.AbstractInputBuffer.doRead(AbstractInputBuffer.java:362) ~[tomcat-coyote.jar:8.0.42]
    at org.apache.coyote.Request.doRead(Request.java:476) ~[tomcat-coyote.jar:8.0.42]
    at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:350) ~[catalina.jar:8.0.42]
    at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:395) ~[tomcat-util.jar:8.0.42]
    at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:375) ~[catalina.jar:8.0.42]
    at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:190) ~[catalina.jar:8.0.42]
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[na:1.8.0_65]
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[na:1.8.0_65]
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[na:1.8.0_65]
    at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[na:1.8.0_65]
    at java.io.Reader.read(Reader.java:140) ~[na:1.8.0_65]
    at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2001) ~[commons-io-2.4.jar:2.4]
    at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1980) ~[commons-io-2.4.jar:2.4]
    at org.apache.commons.io.IOUtils.copy(IOUtils.java:1957) ~[commons-io-2.4.jar:2.4]
    at org.apache.commons.io.IOUtils.copy(IOUtils.java:1907) ~[commons-io-2.4.jar:2.4]
    at org.apache.commons.io.IOUtils.toString(IOUtils.java:778) ~[commons-io-2.4.jar:2.4]
    at org.apache.commons.io.IOUtils.toString(IOUtils.java:803) ~[commons-io-2.4.jar:2.4]

共有1个答案

壤驷敏学
2023-03-14

套接字超时表示已达到连接超时或读取超时。此错误不是由IOutils.ToString()引起的。

尝试连接到远程终结点时,将立即抛出连接超时。如果套接字在远程端打开,但尝试从套接字读取数据时没有返回数据,则会收到读取超时。

读取和连接超时都可以设置,但我建议首先在应用程序外部使用telnet验证远程端口是否打开。

 类似资料:
  • 应用程序通常会通过抛出另一个异常来响应异常。 实际上,第一个异常引起第二个异常。 它可以是非常有助于用户知道什么时候一个异常导致另一个异常。 “异常链(Chained Exceptions)”帮助程序员做到这一点。 以下是Throwable中支持异常链的方法和构造函数。 Throwable getCause() Throwable initCause(Throwable) Throwable(St

  • 你可以使用raise语句 引发 异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。 如何引发异常 例13.2 如何引发异常 #!/usr/bin/python # Filename: raising.py classShortInputException(Exception):     '''A u

  • 问题内容: 异常存储在哪里?堆,堆。如何为异常分配和释放内存?现在,如果您有多个需要处理的异常,是否创建了所有这些异常的对象? 问题答案: 我假设为异常分配的内存分配方式与所有其他对象(在堆上)分配方式相同。 这曾经是个问题,因为您不能为OutOfMemoryError分配内存,这就是直到Java 1.6之前 才没有堆栈跟踪的原因。现在,它们也为stacktrace预分配了空间。 如果您想知道在抛

  • 因为Java编程语言不需要捕获方法或声明未检查异常(包括 RuntimeException、Error及其子类),程序员可能会试图编写只抛出未检查异常的代码,或使所有异常子类继承自RuntimeException。这两个快捷方式都允许程序员编写代码,而不必担心编译器错误,也不用担心声明或捕获任何异常。虽然这对于程序员似乎很方便,但它避开了捕获或者声明异常的需求,并且可能会导致其他人在使用您的类而产

  • 当面对选择抛出异常的类型时,您可以使用由别人编写的异常 - Java平台提供了许多可以使用的异常类 - 或者您可以编写自己的异常类。 如果您对任何以下问题回答“是”,您应该编写自己的异常类;否则,你可以使用别人的。 你需要一个Java平台中没有表示的异常类型吗? 如果用户能够区分你的异常与由其他供应商编写的类抛出的异常吗? 你的代码是否抛出不止一个相关的异常? 如果您使用他人的例外,用户是否可以访

  • 问题内容: Apache Commons IO 有一个很好的便捷方法IOUtils.toString()来读取字符串。 由于我正尝试从Apache Commons转移到Guava:Guava中有与之等效的产品吗?我查看了包中的所有类,但几乎找不到任何简单的东西。 编辑: 我理解并赞赏字符集的问题。碰巧,我知道我所有的来源都是ASCII(是,ASCII,不是ANSI等),因此在这种情况下,编码对我来