在多个不同的时间运行cron4j

时间:2017-04-17 17:09:45

标签: java cron4j

我需要编写一个Java类,它从数据库中获取不同的时间,然后在那些时候调用一个函数。时间可以在数据库中更改,并且与Db中的时间对应的值作为参数发送到函数。 我需要确保每天在Db中提到的时间发生这种情况。

 Scheduler s = new Scheduler();
    s.schedule("0 5 * * *", new Runnable() {
        public void run() {
            //call your function
            TestClass tc = new TestClass(value);
        }
    });
    // Starts the scheduler.
    s.start();
    try {
        Thread.sleep(1000L * 60L * 10L);
    } catch (InterruptedException e) {
        ;
    }
    // Stops the scheduler.
    s.stop();

此代码每天5:00:00调用该类,但我不确定在Thread.sleep()传递什么 我需要写多个不同的时间,并确保它运行很长时间,即一年多。

1 个答案:

答案 0 :(得分:0)

如果你想让它运行一年,那你就不应该sleep()。您需要仅停止正在关闭应用程序的Scheduler停止。因此,只要您的应用程序正在运行(假设为一年或更长时间),您的调度程序也应该正在运行。