2012-02-02 8 views
0

私は同時に2つのタスクを実行するのに苦労しています。私はMyTaskOneとMyTaskTwo、両方のように呼ぶことを、同時にスケジュールされたタスクを簡単にセットアップするには? Cron Java

import org.springframework.scheduling.TaskScheduler; 
import org.springframework.scheduling.Trigger; 

public interface ScheduledTask extends Runnable { 
    public void schedule(final TaskScheduler taskScheduler, final Trigger triggerInterval); 
} 

そして、2つの類似のクラス:

私はインターフェイスを持っている

@Component 
@ApplicationScoped 
public class MyTaskOne implements ScheduledTask { 
    public TaskOne(final TaskScheduler taskScheduler) { 
    this.scheduler(agendadorDeTarefas, new CronTrigger("0 */31 * * * ?")); 
    } 
} 

@Override 
public void run() { 
     //Bla bla bla 
} 

@Override 
public void scheduler(final TaskScheduler taskscheduler, final Trigger triggerInterval) { 
    taskscheduler.schedule(this, triggerInterval); 
} 

の内容以外にMyTaskOneとMyTaskTwoとの差run()はcron間隔、MyTaskOneは( "0 */31 * * *?")、MyTaskTwoは( "0 */37 * * *?")です。

MyTaskOneは最初に初期化され、MyTaskOneが終了した後にのみMyTaskTwoが実行されます。同時に両方を実行したいのですが、どうすれば簡単に設定できますか?

サーバーたのapache-tomcatの6

すべてのヘルプは感謝し、任意の文法ミスのため申し訳ありませんです!

答えて

0

スレッドを使用して解決しました。制御するセマフォにスレッドを使用してScheduledTaskとRunnableを、

としての私のタスクを実装

は非常によく働きました。

関連する問題