2017-04-17 101 views
0

我需要編寫一個Java類,它從數據庫中獲取不同時間,然後在這些時間調用一個函數。時間可以在數據庫中改變,並且與Db中的時間相對應的值被作爲參數發送給函數。 我需要確保每天在Db中提到的時間發生這種情況。在多個不同時間運行cron4j

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() 我需要寫多個不同的時間太多,並通過確保它運行很長一段時間即一年以上。

回答

0

如果你想要這個運行一年,那麼你不應該sleep()。您需要讓您的Scheduler僅在應用程序關閉時停止。所以只要你的應用程序正在運行,據說一年或更長時間,你的調度程序也應該運行。