2

我已经使用 cron4j 开始了一项任务,使用 Stripes ActionBean 在某些条件下(他们还没有完成他们的工作)每天向人们发送电子邮件。

我将任务 ID 保存在 MySQL 中。

但是,我似乎无法阻止它。我尝试使用 id 来取消计划任务,但它不起作用。我只能通过确保条件始终为假来阻止它。

如何使用不同的调度程序实例停止任务(因为它使用 servlet 和 actionbean,我无法将调度程序实例保存在数据库中)?它甚至可行吗?

4

1 回答 1

0

我知道这是一篇很老的帖子,抱歉,最近才开始研究 cron4j。

您很可能没有获得相同的调度程序实例。调度程序有一个 getGUID 方法,当您实例化它时会发出消息,然后在您尝试取消调度时再次发出消息。如果它们不一样,那就是问题所在。

我现在正在一个网站上实现 cron4j,并决定使用单例模式来确保每当我请求调度程序时,我都会加载唯一的实例。到目前为止,我可以毫无问题地取消计划。

于 2014-11-25T15:36:18.197 回答