2

私は実験していScheduleExpressionて、奇妙な振る舞いに気づきました:

30秒ごとにタイマーを作成すると

scheduleExpression.second("*/30");

私は得る

[second=*/30;minute=*;hour=*;dayOfMonth=*;month=*;dayOfWeek=*;year=*;timezoneID=null;start=null;end=null]

そして私のタイマーは期待通り30秒ごと(:00と:30)に実行されます。ここまでは順調ですね。

それから私は数分で同じことをしようとしました

scheduleExpression.minute("*/1");

そして予想通り私は得る

[second=*;minute=*/1;hour=*;dayOfMonth=*;month=*;dayOfWeek=*;year=*;timezoneID=null;start=null;end=null]

しかし、私の@Timeoutメソッドは継続的に呼び出されます。コードは私が変更しているのとまったく同じですScheduleExpression

これは既知の問題ですか?または、ドキュメントを誤って解釈し、両方を設定する必要がありましたか

scheduleExpression.second(0);
scheduleExpression.minute("*/1");
4

1 に答える 1

4

ScheduleExpression ドキュメントから、両方のメソッドを呼び出す必要があるようです(特にseconds以前にスケジュールした場合)。

これを見てください:

Example : ( minute = "∗/14", hour="1,2")

との両方minutesを設定していhoursます。

于 2013-01-17T08:24:27.790 に答える