1

classのメソッドのQuartz Scheduler javadocsから:setTimeZoneCronTrigger

このメソッドの後に setCronExpression(CronExpression) が呼び出されると、CronExpression の TimeZone 設定が優先されます。ただし、このメソッドの後に setCronExpression(String) が呼び出された場合、文字列の cron 式にはタイム ゾーンがないため、このメソッドによって適用されるタイム ゾーンは有効なままです。

異なるシーケンスで両方のセッターを呼び出すことの違いは何ですか?

4

2 に答える 2

2

つまり、setTimeZone を使用して既に TimeZone を設定しているときに setCronExpression(CronExpression) を呼び出すと、指定した TimeZone が CronExpression の TimeZone によって上書きされます。これは、CronExpression クラスに TimeZone が含まれているためです。

ただし、String cron 式にはタイム ゾーン情報が含まれていないため、setTimeZone で指定したタイム ゾーンが引き続き有効になります。

それは理にかなっていますか?

于 2010-07-26T07:25:03.563 に答える
1

3つのシナリオがあります-

  1. setTimeZone()を呼び出してから、setCronExpression(CronExpression)を呼び出します。CronExpressionに関連付けられたタイムゾーンが適用されます。

  2. setTimeZone()を呼び出してからsetCronExpression(String)を呼び出します。String cron式にはタイムゾーンが関連付けられていないため、setTimeZone()で指定されたタイムゾーンが適用されます。

  3. setCronExpression(CronExpression)またはsetCronExpression(String)を呼び出してから、setTimeZone()を呼び出します。setTimeZone()メソッドで指定されたタイムゾーンが適用されます。

于 2010-07-26T07:45:38.093 に答える