我想开发一个执行数据库中注册的任务的Java程序。这些任务有自己的类似cron的计划,它是Quartz Scheduler的CronExpression的一个对象,并在序列化后保存在数据库中。
任务应该根据其时间表随时执行,所以我认为程序应该被守护,并且可以在程序之外重新启动或停止(就像/etc/init.d/
下面的常用服务一样)
我在学习the examples of Quartz 并且即使没有睡眠和关机方法,也看到程序连续运行。这似乎很好地实现了我的目的,但我不确定这种方式是否可以生成一个守护进程。
// TODO: Retrieve cron format from the database
Trigger trigger = org.quartz.TriggerBuilder.newTrigger()
.withIdentity("trigger1", "group1")
.withSchedule(cronSchedule("* * * ? * MON-FRI"))
.startNow()
.build();
try {
sched.scheduleJob(job, trigger);
sched.start();
// Thread.sleep(90L * 1000L);
// sched.shutdown(true);
} catch (SchedulerException e) {
...
我的问题是
提前感谢您,任何意见或问题都将不胜感激。