java – Web应用程序中的Quartz
我在Web应用程序中调度作业时遇到问题.如果我们必须在Web应用程序中安排作业,我们可以使用java util Timer / TimerTask或Quartz(还有其他调度机制,但我考虑过Quartz).我正在考虑使用哪一个,当我点击网站http://oreilly.com/pub/a/java/archive/quartz.html?page=1时说使用计时器有一个不好的效果,因为它创建了一个在最后一行没有容器控制的线程.其他页面讨论了Quartz及其功能,但我可以读到Quartz还使用线程和/或线程池来安排任务.我的猜测是这些线程也不受容器控制 任何人都可以向我澄清这一点 最佳答案
quartz和JDK Timer都启动了无法访问Java EE上下文信息的非托管线程,这是最大的问题.此外,他们可以在没有[应用程序服务器]知道的情况下使用资源,在没有管理员控制其数量和资源使用的情况下存在,并阻碍应用程序服务器正常关闭或从故障中恢复资源的能力(参见Unmanaged threads). 话虽如此,我没有面对悬挂线程或锁定问题(我想这取决于你正在做什么). 如果确实这是一个问题,请考虑使用JSR-237 Timer和WorkManager实现(与托管线程一起使用),如Foo-CommonJ而不是quartz或JDK Timer. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |