5

以下の表現が正しいかどうかはわかりません。

<property name="cronExpression" value="0  0  12  2  *  MON-FRI ?"/> 

年に関係なく、毎月 2 日おきに正午にトリガーを起動するように設定しようとしています。曜日は月曜日から金曜日の間でなければなりません。

誰かが私を助けてくれたら本当にありがたいです。前もって感謝します。

4

2 に答える 2

5

「MON-FRIである限り、隔日(隔日)」という意味だったと思います。

Quartz CronTriggerチュートリアルによると:

day-of-month フィールドの '1/3' は、「月の最初の日から 3 日ごとに発生する」ことを意味します。

つまり、1/2「月の最初の日から 2 日おきに起動する」という意味になります。cronExpression のような0 0 12 1/2 * MON-FRI *ものは、あなたが望むものに近いはずです。で確認

org.quartz.CronExpression.isValidExpression("0  0  12  1/2 * MON-FRI *")

...式が有効であると言います。

ただし、次の方法でさらにテストします。

CronExpression e = new CronExpression("0  0  12  1/2 * MON-FRI *");
e.isSatisfiedBy(new DateTime(2012, 9, 26, 12, 0, 0, 0).toDate());

...例外をスローします:

> Exception in thread "main" java.lang.UnsupportedOperationException:
> Support for specifying both a day-of-week AND a day-of-month parameter
> is not implemented.

したがって、jhouse は正しいようで、 cronExpression ではそれを行うことはできません

たぶん、次のようなものが回避策として機能するでしょう: Nth Hour/Day/Week/Month ごとに実行される cron トリガーの Quartz cron 式

于 2012-09-26T10:32:59.170 に答える
4

日と曜日の両方を指定することはできません。サポートされていません。

于 2011-01-29T03:20:16.257 に答える