按停止按钮时,Eclipse不会运行嵌入式Tomcat关闭序列

时间:2014-10-03 08:33:28

标签: java eclipse multithreading tomcat shutdown

通常,当我在嵌入式Tomcat实例上从Eclipse中点击 stop 按钮时,当前控制台将与一个新的空控制台窗口交换。之前的控制台窗口仍然可用,如果我切换回它,我可以看到Tomcat关闭序列(包含所有消息,警告等)。

但有时我碰到了当我按下停止按钮时,服务器实际上已经停止,但关闭过程不可见 - 即没有任何内容写入控制台。控制台保留在最后一条应用程序消息上 实际上Tomcat实例几乎是瞬间停止了。

为什么会这样?我是否在生产过程中出现了错误,或者这只是Eclipse Tomcat插件中的一个怪癖?

直到几天前,当我开始追捕永无止境的线程时,我从未见过这样的行为。我正在尝试一个简单的清理策略 - 我基本上跟踪每个组件的创建,这些组件利用单个线程中的线程,我调用任何interrupt()shutdown()cleanup()方法组件在ServletContextListener中公开。


我刚刚发现正确调用关闭过程时,在调试窗格中显示:

<terminated, exit value: 0>\path\to\java_home\bin\javaw.exe

当服务器突然停止时,我看到了:

<terminated, exit value: 1>\path\to\java_home\bin\javaw.exe

0 个答案:

没有答案