gpt4 book ai didi

java - Quartz 监听器的 jobWasExecuted 中的异常在实际完成时使作业保持运行状态

转载 作者:行者123 更新时间:2023-12-05 07:55:41 24 4
gpt4 key购买 nike

我有一个带有 Quartz 调度程序的网络应用程序。在我的应用程序页面中,我显示了当前正在执行的作业。今天,一项工作失败了,由于一些可怕的 Hibernate 问题,我们在我的工作监听器的 jobWasExecuted 方法中遇到了一个异常。由于我在 Internet 或 Quartz 文档上找不到任何内容,因此我进行了一些测试,发现如果在此类监听器方法 (jobWasExecuted) 中发生异常,Quartz 会不断告诉您该作业当前正在执行,尽管它实际上已完成。

有没有人见过或听说过类似的东西?有任何建议的解决方案,或者我应该直接将所有这些方法内容包装在一个巨大的 try-catch 中以防止这种错误行为吗?

谢谢!

最佳答案

我可以在本地重现这个(使用 Quartz 2)。

将 jobWasExecuted 方法语句包装在 try catch 中似乎可行(在出现异常的情况下,作业不再被识别为之后执行)。

在org.quartz.core.JobRunShell中继续执行#run并执行

complete(true);

如果您觉得这是一个错误,您可能需要在 https://github.com/quartz-scheduler/quartz/issues 上提交报告.

关于java - Quartz 监听器的 jobWasExecuted 中的异常在实际完成时使作业保持运行状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29514059/

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