1

ejb で @schedule アノテーションを使用して、10 分ごとに 2 つのメソッドを次々と実行する必要があります。

私のコードは次のようなものです:

@Schedule(minute="*/10")
public void mth1() { 
    System.out.println("welcome");
}

@Schedule(minute="*/10")    
public void mth2() {
    System.out.println("hello");
} 

どうやって進める?

返信ありがとうございます..しかし、タイマーは両方の月に別々に10分に設定されています.2番目の月は、最初の月が完了した後に実行を開始します. 第 1 か月目に第 2 か月を呼び出すと、両方とも 10 分以内に実行されます。それぞれ 10 分間実行したい

4

2 に答える 2

3

mth1 の後に mth2 を実行したい場合は、mth1 の最後で mth2 を呼び出し、mth2 から Schedule アノテーションを削除するだけです。

于 2012-12-01T07:08:16.617 に答える
0

特定の時間間隔で遅延して、タイマーが次々に実行されるように、以下のコードを試すことができます。

@Schedule(minute="*/10")
public void mth1() { 
    System.out.println("welcome");

    //-- Creating a timer manually for mth2
    timerService.createTimer(duration, info);

}

指定された間隔の後、タイムアウト メソッドが呼び出され、 @Timeout アノテーションで meth2() をマークします。したがって、meth2() は、meth1() が終了するときに x 単位の期間後に呼び出されます。

@Timeout
public void mth2(Timer timer){
    System.out.println("hello");
}
于 2012-12-03T10:11:38.707 に答える