Cron4jPlugin源码中的问题求教

定义一个task之后的配置

task1.daemon 表示调试线程是否设置为守护线程,默认值为 true,守护线程会在 tomcat 关闭时自动关闭

那么配置为false的话,表示守护线程会在 tomcat 关闭时不自动关闭

这两种配置的差别在哪里?能详细讲解下吗

评论区

JFinal

2018-08-30 11:57

影响最大的是,当你使用 tomcat 的 shutdown.sh shutdown.bat 这两个命令关闭 tomcat 时, tomcat 始终无法关闭,因为还有线程存活

这时你只有通过 kill 命令或者在 windows 系统中通过强制退出才能真正关闭 tomcat

至今仍有很多人在使用 kill 命令关闭 tomcat ,这样是很危险的,例如 jfinal 就有 public void beforeJFinalStop() 这类回调方法会在 tomcat 关闭前被回调,kill 关闭 tomcat 就会跳过这类操作

此外,用户自己在创建 Timer 这类定时器线程时,也存在这样的问题,在 tomcat 无法被正常 shutdown 时多注意守护线程这件事

热门反馈

扫码入社