2017-04-17 27 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(); 

このコードは、午前五時00分00秒毎日クラスを呼び出しますが、私はあまりにも、複数の異なる時間のために書くと必ず、それは長い時間のために実行させるために必要なものThread.sleep() に合格するかわかりませんすなわち、1年以上。

答えて

0

これを1年間実行したい場合は、sleep()ではありません。あなたのアプリケーションの中止されただけのSchedulerをシャットダウンする必要があります。だから、あなたのアプリケーションが動作している限り、おそらく1年以上の間、あなたのスケジューラも実行されているはずです。

関連する問題