2010-12-15 10 views
3

表現下記正しいかどうかはわからない:このcronExpressionは正しいですか?

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

私は正午に、毎月の一日おきに、どんなに年を発射する私のトリガーを設定しよう、と曜日が持っています月曜日から金曜日の間になる。

誰かが私を助けることができたら本当に感謝します。前もって感謝します。

+0

あなたは(あなたのcronExpressionを示唆している)、「一日おき」または「毎月第2日」を意味しましたか? – Jonik

答えて

3

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

3

私はあなたが「月曜〜金曜日」である限り、「毎秒(1日おき)」を意味すると仮定しています。 Quartz CronTrigger Tutorialによると

「1/3」日のヶ月分野では、「 月の最初の日を開始し、3日ごとに火」を意味します。

したがって、1/2は、「月の最初の日から2日ごとに火を」という意味です。 0 0 12 1/2 * MON-FRI *のようなcronExpressionは、あなたが望むものに近いはずです。チェックすると

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 is rightのように思えるし、あなただけのことを行うことはできませんcronExpressionを使用します。

たぶん、このようなものは、回避策として動作します:Quartz cron expression for cron triggers executed every Nth Hour/Day/Week/Month

関連する問題