1

JBoss 5.0.1 GA で Spring 3.1 MVC Web アプリケーションを実行しています。私は注釈を使用していません。

特定の時刻に実行するようにスケジュールしたいメソッドを持つシンゲトンがあります。

タスク スケジューラを次のように構成しています。

<task:scheduler id="taskScheduler"/>
<task:scheduled-tasks scheduler="taskScheduler">
    <task:scheduled ref="service" method="DoSomething" cron="* */10 * * * *"/>
</task:scheduled-tasks>
<task:executor id="taskExecutor" pool-size="1"/>

しかし、トレース ログを観察すると、メソッドは 1 回だけではなく、複数回 (qa サーバーと prod サーバーで 8 回) 実行されています。

QuartzScheduler を特定の方法で構成する必要がある場所はありますか?

ありがとう、

4

2 に答える 2

0

cron の最初の * は 0 である必要があるように見えます。これは、毎秒 10 分ごとに実行するのではなく、0 秒で 10 分ごとに実行することを意味0 */10 * * * *します(各呼び出しを完了するのにかかる時間に応じて、複数回実行されます)。 . 8 回の呼び出しを取得するには、1 回の実行で 1 分強になります)。spring javadocの例がゼロで始まることに注目してください。

于 2013-03-26T23:16:23.070 に答える
0

cron"* */10 * * * *"要素の値が間違っていると思われます。

http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger*/10のドキュメントが見つかりません

/値からの増分を導入します。ここで、as*はすべての値を表すため*/10、分単位では意味がありません。

于 2012-04-28T01:23:03.183 に答える