如何在Java中构建类似cron的作业执行程序?

时间:2016-04-04 08:19:43

标签: java cron quartz-scheduler

我想开发一个执行数据库中注册的任务的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) {
  ...

我的问题是

  • 构建在服务器上连续运行的cron作业调度程序的最佳方法是什么?

提前感谢您,任何意见或问题都将不胜感激。

0 个答案:

没有答案