springboot嵌入式tomcat Acceptor线程缺失

时间:2016-04-14 00:26:25

标签: spring-mvc tomcat spring-boot spring-rest

我们正在使用带有嵌入式tomcat的springboot 1.3.3.RELEASE 。 该服务使用java 1.8.0_45在redhat Linux 2.6.32(64位)上运行。

在我们的加载环境中,我们注意到服务器已启动(java VM仍在运行)并响应非HTTP请求,但是通过SpringMVC Rest公开的HTTP请求不起作用,我们得到超时。

在比较健康和不健康系统之间的线程转储后,我们注意到在一个不健康的系统中缺少 http-nio- {port} -Acceptor 线程。

特别是从健康的机器中显示的转储从坏的丢失中丢失。

  

" HTTP-NIO-8080-接受器 - 0" #45 daemon prio = 5 os_prio = 0   tid = 0x00007f13fb9ef800 nid = 0x896b runnable [0x00007f146f3f4000]
  java.lang.Thread.State:RUNNABLE                  at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)                  at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)                  at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)                   - 已锁定< 0x00000005cd5d0558> (一个java.lang.Object)                  在org.apache.tomcat.util.net.NioEndpoint $ Acceptor.run(NioEndpoint.java:682)                  在java.lang.Thread.run(Thread.java:745)

什么可能是Acceptor线程丢失的原因? 是否可以重新启动威胁,而无需重新启动整个应用程序? 这是我们无法为HTTP请求提供服务的原因吗?

0 个答案:

没有答案