我运行了一个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),当我向这个请求发送请求时,它将不会响应,直到长GWT请求结束。它实际上根本没有开始执行(我添加了日志以查看它是否实际开始执行,并且直到log gwt请求结束时才会执行。)
如何调试Tomcat实例的线程池/入站请求队列?
答案 0 :(得分:1)
查看IDE调试设置。
例如,在IntelliJ IDEA上,您需要在breakpoint settings中将暂停策略更改为线程。这意味着只有为断点停止的此线程才会阻塞,其他线程将继续正常运行。