gpt4 book ai didi

java - JVM 终止后执行作业

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:47 25 4
gpt4 key购买 nike

是否可以在 JVM 终止后在 JVM 中安排作业执行?

在我的应用程序中,用户可以选择接收收件箱中任何新电子邮件的通知。我使用 Quartz 完成了这项工作,EmailChecker 作业计划每 45 秒执行一次。

public void checkInbox() throws SchedulerException
{
JobDetail job = JobBuilder.newJob(EmailChecker.class)
.withIdentity("emailJob", "jobGroup").build();

Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("emailTrigger", "jobGroup")
.withSchedule(CronScheduleBuilder.cronSchedule("0/45 * * * * ?"))
.build();

Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(job, trigger);

}

一切正常,但仅在 JVM 运行时有效。一旦退出,将不再发送通知。

该应用程序是桌面应用程序,因此不会一直运行。如果此功能仅在 JVM 中运行,则该功能将毫无用处,因为用户还可以实时查看他们的收件箱,因此通知将是多余的。

最佳答案

不是在 JVM 内部,因为一旦 JVM 终止,它就不会运行来执行作业。您可以使用类似 cron 的工具或 at安排一个新的 JVM。如果您可以让 JVM 继续执行,那么您可以使用 JVM 来安排作业(您可以使用类似 quartz-scheduler 的东西)。

关于java - JVM 终止后执行作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31283688/

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