0

我有一个 Tomcat 应用程序正在运行,由于某种原因,我的一个 servlet 被搁置,而所有其他 servlet 在执行请求时响应。

我的 Tomcat 连接器配置:

<Connector port="8008" protocol="HTTP/1.1"
maxThreads="50" minSpareThreads="5" maxSpareThreads="50"
    enableLookups="false" acceptCount="100"
           connectionTimeout="20000" 
           redirectPort="8443"
           compression="off"
           allowTrace="true"
compressionMinSize="128"
 noCompressionUserAgents="gozilla, traviata"
 compressableMimeType="text/html,text/xml,text/x-gwt-rpc; charset=utf-8,application/json; charset=utf-8,application/javascript" />

我的 GWT RPC servlet 在执行很长的请求时不断响应。但是我在 GWT 之外创建了一个 servlet(即一个普通的旧 servlet),当我向这个 servlet 发送请求时,它不会响应,直到长 GWT 请求结束。它实际上根本没有开始执行(我添加了日志以查看它是否真正开始执行,直到日志 gwt 请求结束才开始执行)。

如何调试Tomcat实例的线程池/入站请求队列?

4

1 回答 1

1

查看您的 IDE 调试设置。

例如,在 IntelliJ IDEA 上,您需要在断点设置中将Suspend 策略更改 为Thread。这意味着只有这个因断点而停止的线程才会阻塞,其他线程将继续正常运行。

于 2012-04-18T10:16:28.400 回答