浏览 7567 次
锁定老帖子 主题:Tomcat不能shutdown
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-23
所以我想问的问题是: 1、这个问题的产生原因? 2、像我这样的应用方式应该注意些什么?在监听器里启动的线程的生命周期如何维护? 3、tomcat shutdown时会作哪些操作? 在Tomcat Web Application Manager 里stop或者 reload一个webapp时又会做那些操作? 对于在和tomcat启动时一同启动的非servlet线程,那些关闭或停止操作会对它们有何影响? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-01-23
我没有实际试验,只是试作分析。
对第一个问题,我认为startup.sh实际上是start一个tomcat非daemon线程,类似的shutdown也就是关闭这个线程。由于你在应用部署时开始新的线程,我想你的线程应该也是非daemon的,这个线程在shutdown不会被关闭,根据jvm退出的规则,只要有非daemon线程没有关闭,jvm就不会退出,因此你的tomcat进程仍然运行在。 对其它问题,如果你要在shutdown关闭时也停止你产生的线程,你应该实现contextInitialized(ServletContextEvent sce)方法,并在其中停止你产生的线程。 说白了,就是资源管理的问题,“自己开启的资源得自己释放” |
|
返回顶楼 | |
发表时间:2008-11-06
退出的时候把jvm退出java.lang.Runtime.this.exit
|
|
返回顶楼 | |