クラス ScheduledExecutorTask
java.lang.ObjectSE
org.springframework.scheduling.concurrent.ScheduledExecutorTask
JavaBean は、
Runnable
SE と遅延プラス期間で構成される、スケジュールされたエグゼキュータータスクを記述します。期間を指定する必要があります。デフォルトでは意味がありません。ScheduledExecutorService
SE は、cron 式などのより高度なスケジューリングオプションを提供しません。このようなニーズには ThreadPoolTaskScheduler
の使用を検討してください。
ScheduledExecutorService
SE メカニズムは、実行ごとに新しい Job インスタンスを作成する Quartz とは対照的に、繰り返し実行間で共有される Runnable
SE インスタンスを使用することに注意してください。
コンストラクターのサマリー
コンストラクター説明新しい ScheduledExecutorTask を作成し、Bean プロパティを介して入力されます。ScheduledExecutorTask
(RunnableSE executorTask) 新しい ScheduledExecutorTask を作成します。デフォルトの 1 回の実行で遅延はありません。ScheduledExecutorTask
(RunnableSE executorTask, long delay) 新しい ScheduledExecutorTask を作成します。デフォルトは、指定された遅延で 1 回実行されます。ScheduledExecutorTask
(RunnableSE executorTask, long delay, long period, boolean fixedRate) 新しい ScheduledExecutorTask を作成します。メソッドのサマリー
修飾子と型メソッド説明long
getDelay()
初めてジョブを開始する前に遅延を返します。long
繰り返されるタスク実行間の期間を返します。Runnable を返し、executor タスクとしてスケジュールします。遅延と期間の値の時間単位を返します。boolean
固定レート実行としてスケジュールするかどうかを返します。boolean
このタスクは一度だけ実行されますか?void
setDelay
(long delay) 初めてタスクを開始するまでの遅延をミリ秒単位で設定します。void
setFixedRate
(boolean fixedRate) 固定遅延実行ではなく固定レート実行としてスケジュールするかどうかを設定します。void
setPeriod
(long period) 繰り返し実行されるタスクの間隔をミリ秒単位で設定します。void
setRunnable
(RunnableSE executorTask) Runnable を executor タスクとしてスケジュールするように設定します。void
setTimeUnit
(TimeUnitSE timeUnit) 遅延と期間の値の時間単位を指定します。
コンストラクターの詳細
ScheduledExecutorTask
public ScheduledExecutorTask()新しい ScheduledExecutorTask を作成し、Bean プロパティを介して入力されます。ScheduledExecutorTask
新しい ScheduledExecutorTask を作成します。デフォルトの 1 回の実行で遅延はありません。- パラメーター:
executorTask
- スケジュールする Runnable
ScheduledExecutorTask
新しい ScheduledExecutorTask を作成します。デフォルトは、指定された遅延で 1 回実行されます。- パラメーター:
executorTask
- スケジュールする Runnabledelay
- 初めてタスクを開始する前の遅延 (ミリ秒)
ScheduledExecutorTask
新しい ScheduledExecutorTask を作成します。- パラメーター:
executorTask
- スケジュールする Runnabledelay
- 初めてタスクを開始する前の遅延 (ミリ秒)period
- 繰り返されるタスク実行間の期間 (ミリ秒)fixedRate
- 固定レート実行としてスケジュールするかどうか
メソッドの詳細
setRunnable
Runnable を executor タスクとしてスケジュールするように設定します。getRunnable
Runnable を返し、executor タスクとしてスケジュールします。setDelay
public void setDelay(long delay) 初めてタスクを開始するまでの遅延をミリ秒単位で設定します。デフォルトは 0 で、スケジューリングが成功した後すぐにタスクを開始します。getDelay
public long getDelay()初めてジョブを開始する前に遅延を返します。setPeriod
public void setPeriod(long period) 繰り返し実行されるタスクの間隔をミリ秒単位で設定します。デフォルトは -1 で、1 回だけ実行されます。正の値の場合、タスクは実行の間に指定された間隔で繰り返し実行されます。
期間値のセマンティクスは、固定レート実行と固定遅延実行で異なることに注意してください。
注 :(固定遅延として)0 の期間は
java.util.concurrent.ScheduledExecutorService
自体がそれをサポートしていないという理由だけで、サポートされていません。値 0 は 1 回限りの実行として扱われます。ただし、そもそもその値を明示的に指定しないでください。getPeriod
public long getPeriod()繰り返されるタスク実行間の期間を返します。isOneTimeTask
public boolean isOneTimeTask()このタスクは一度だけ実行されますか?- 戻り値:
true
(このタスクが一度だけ実行される場合)- 関連事項:
setTimeUnit
遅延と期間の値の時間単位を指定します。デフォルトはミリ秒(TimeUnit.MILLISECONDS
)です。getTimeUnit
遅延と期間の値の時間単位を返します。setFixedRate
public void setFixedRate(boolean fixedRate) 固定遅延実行ではなく固定レート実行としてスケジュールするかどうかを設定します。デフォルトは "false"、つまり固定遅延です。これらの実行モードの詳細については、ScheduledExecutorService javadoc を参照してください。
isFixedRate
public boolean isFixedRate()固定レート実行としてスケジュールするかどうかを返します。