在程序启动的时候,我调用了如下代码:
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
logger.error("Mmsmanager shutdown ... ");
善后操作........
}
}我希望在进程结束的时候,调用善后操作来 关闭所有打开的数据库连接,并且优雅的结束进程中的线程。
分三个问题;
1.我的进程单独启动(linux下),用kill -9 结束进程,jvm根本没有执行我注册的善后操作!
2.把我的这个模块放在一个web里面执行,结束tomcat的时候,也没有看到执行我注册的善后操作!听我的同事说,kill-9是不会给机会执行hookdown的事情的。听说:3:数据库连接在进程被kill的时候,会被关闭,不会继续占用我本机的资源,也不会在继续占用oracle的资源(虽然不是立即就释放了,但是听说oralce能自己处理这些被关闭的连接)。请大家解释以上的几个问题,谢谢大家!!
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
logger.error("Mmsmanager shutdown ... ");
善后操作........
}
}我希望在进程结束的时候,调用善后操作来 关闭所有打开的数据库连接,并且优雅的结束进程中的线程。
分三个问题;
1.我的进程单独启动(linux下),用kill -9 结束进程,jvm根本没有执行我注册的善后操作!
2.把我的这个模块放在一个web里面执行,结束tomcat的时候,也没有看到执行我注册的善后操作!听我的同事说,kill-9是不会给机会执行hookdown的事情的。听说:3:数据库连接在进程被kill的时候,会被关闭,不会继续占用我本机的资源,也不会在继续占用oracle的资源(虽然不是立即就释放了,但是听说oralce能自己处理这些被关闭的连接)。请大家解释以上的几个问题,谢谢大家!!
解决方案 »
- 关于实例化的一个疑问
- 有关抓错的问题
- 在Unix上用Runtime执行一个SH脚本的问题
- Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
- 看不懂javap -verbose得到的结果,高手进来注释一下.(另外开贴给分.)
- 字符数组组合的问题,高手帮忙一下,谢谢
- 存入文件的乱码问题。
- 各位前辈,问一问题,什么时候会用到 DataInputStrean,PrintWrite
- 求助各位大虾!!!!!!!
- 一个奇怪的问题,有关Socket的。
- 请知道的朋友帮助一下,给些jxl.sheetsettings的示例
- 如何将oracle数据导入到access?
The program exits normally, when the last non-daemon thread exits or when the exit (equivalently, System.exit) method is invoked, or
程序正常退出或是exit方法被调用时The virtual machine is terminated in response to a user interrupt, such as typing ^C, or a system-wide event, such as user logoff or system shutdown.
用户中断或系统关机或注销事件时或者这篇文章可以帮你的忙.
http://lists.w3.org/Archives/Public/www-jigsaw/2000JanFeb/0121.html