gpt4 book ai didi

java - Web 应用程序中的 Quartz

转载 作者:搜寻专家 更新时间:2023-10-31 20:16:14 24 4
gpt4 key购买 nike

我对在 Web 应用程序中安排作业有疑问。如果我们必须在 Web 应用程序中安排作业,我们可以使用 java util Timer/TimerTask 或 Quartz(还有其他调度机制,但我考虑过 Quartz)。当我访问网站 http://oreilly.com/pub/a/java/archive/quartz.html?page=1 时,我正在考虑使用哪一个这表示使用计时器会产生不良影响,因为它会在最后一行创建一个不受容器控制的线程。其他页面讨论了 Quartz 及其功能,但我可以读到 Quartz 也使用线程和/或线程池来安排任务。我的猜测是这些线程也不在容器控制之下

谁能给我解释一下在我的 Web 应用程序中使用 Quartz 而不会产生挂起线程或线程锁定问题是否安全?提前致谢

最佳答案

Can anybody clarify this to me Is it safe to use Quartz in my web applications without creating hanging threads or thread locking issues?

quartz 和 JDK Timer 都会启动无法访问 Java EE 上下文信息的非托管线程,这是最大的问题。 此外,它们可以在 [应用程序服务器] 不知情的情况下使用资源,管理员无法控制它们的数量和资源使用情况,并且会妨碍应用程序服务器正常关闭或从故障中恢复资源的能力(参见 Unmanaged threads)。

话虽如此,我没有遇到线程挂起或锁定问题(不过我想这取决于您对它们执行的操作)。

如果这真的是一个问题,请考虑使用 JSR-237 计时器和 WorkManager 实现(与托管线程一起工作),如 Foo-CommonJ而不是 quartz 或 JDK 定时器。

关于java - Web 应用程序中的 Quartz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2638116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com