如何在用户请求的特定日期和时间运行一组特定的Java代码

时间:2014-04-08 04:39:37

标签: java quartz-scheduler

我希望我的java程序在用户请求的特定日期和时间运行,其形式为Timestamp所请求的时间戳将存储在数据库中,代码应该开始运行时间点。

我应该使用Timer类还是Quartz调度程序。请给我一个更好的解决方案。我是java的新手,所以我对这些调度程序并不熟悉。如果有人可以通过一个简单的例子来帮助我,那对我来说将是一个很好的帮助,我如何在timestamp中提供timer作为参数。

for (int i = 0; i < 4; i++)
{
 if (bur[i] > 0) {
    if (bur[i] > qtm) {
      execOrder.add(i + 1);
      bur[i] = bur[i] -qtm;
      flagClounter++;
    } else {
      execOrder.add(i + 1);
      bur[i] = 0;
      flagClounter++;
   }    
 }    
}

如果以上是代码部分..我可以使用计时器以及如何在那里或在Quartz中提供Timestamp。请帮帮我。

2 个答案:

答案 0 :(得分:2)

Quartz调度程序是在java..Go中实现这些功能的一个非常好的选择.. http://www.tutorialsavvy.com/2012/12/quartz-scheduler-scheduling-job-in-java.html

答案 1 :(得分:0)

你可以使用Quartz触发器.. 基本上石英有两种类型的触发器 1.简单触发 2. Cron Trigger

假设您想在特定日期和时间运行Job,则使用Cron Trigger。 Cron触发器接受Cron Expression,如下所示 表达式= 59 59 23 FRI *? 表达是指工作应该在每周五晚上11:59:59执行 可以获得更多表达here

另一方面,简单触发器接受毫秒并在应用程序启动后执行。即如果指定的毫秒数是10000,则在应用程序启动后10000毫秒后执行作业。