java.net.SocketException:使用Tomcat重置连接

时间:2013-06-05 09:56:11

标签: java tomcat tcp tomcat7 connection-reset

我在生产设置中遇到以下异常。以下是痕迹,

引起:java.net.SocketException:连接重置

at java.net.SocketInputStream.read(SocketInputStream.java:189)
    at java.net.SocketInputStream.read(SocketInputStream.java:121)
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:532)
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:501)
    at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:563)
    at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:124)
    at org.apache.coyote.http11.AbstractInputBuffer.doRead(AbstractInputBuffer.java:346)
    at org.apache.coyote.Request.doRead(Request.java:422)
    at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:290)
    at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:431)
    at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:315)
    at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:200)
    at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:385)

以下是tomcat的配置详细信息。

  1. 连接器 - BIO
  2. 最大线程数 - 100
  3. 接受计数 - 20000
  4. 我遇到的最常见的情况是客户端在服务器响应之前关闭连接。然而,这似乎并非如此。 我只想试着理解为什么会这样。我试着在没有太多运气的情况下重现这一点。

    已经尝试了很多事情,

    1. 在服务器代码中设置一个断点,从客户端点击,等待一分钟(> 20000),然后将其运行完成。这里没有错误。
    2. 在服务器代码中设置断点。从客户端代码命中,它在服务器断点处停止,然后我停止/关闭客户端并让服务器代码运行完成,这也没有导致任何错误。
    3. 关于如何在本地重现此问题的任何想法。

      谢谢,

      维基

0 个答案:

没有答案