public class ScheduledExecutorTask extends ObjectSE
Runnable
SE と遅延プラス期間で構成される、スケジュールされたエグゼキュータータスクを記述します。期間を指定する必要があります。デフォルトでは意味がありません。ScheduledExecutorService
SE は、cron 式などのより高度なスケジューリングオプションを提供しません。このようなニーズには ThreadPoolTaskScheduler
の使用を検討してください。
ScheduledExecutorService
SE メカニズムは、実行ごとに新しい Job インスタンスを作成する Quartz とは対照的に、繰り返し実行間で共有される Runnable
SE インスタンスを使用することに注意してください。
コンストラクターと説明 |
---|
ScheduledExecutorTask() 新しい 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 | getPeriod() 繰り返されるタスク実行間の期間を返します。 |
RunnableSE | getRunnable() Runnable を返し、executor タスクとしてスケジュールします。 |
TimeUnitSE | getTimeUnit() 遅延と期間の値の時間単位を返します。 |
boolean | isFixedRate() 固定レート実行としてスケジュールするかどうかを返します。 |
boolean | isOneTimeTask() このタスクは一度だけ実行されますか? |
void | setDelay(long delay) 初めてタスクを開始するまでの遅延をミリ秒単位で設定します。 |
void | setFixedRate(boolean fixedRate) 固定遅延実行ではなく固定レート実行としてスケジュールするかどうかを設定します。 |
void | setPeriod(long period) 繰り返し実行されるタスクの間隔をミリ秒単位で設定します。 |
void | setRunnable(RunnableSE executorTask) Runnable を executor タスクとしてスケジュールするように設定します。 |
void | setTimeUnit(TimeUnitSE timeUnit) 遅延と期間の値の時間単位を指定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public ScheduledExecutorTask()
public ScheduledExecutorTask(RunnableSE executorTask)
executorTask
- スケジュールする Runnablepublic ScheduledExecutorTask(RunnableSE executorTask, long delay)
executorTask
- スケジュールする Runnabledelay
- 初めてタスクを開始する前の遅延 (ミリ秒)public ScheduledExecutorTask(RunnableSE executorTask, long delay, long period, boolean fixedRate)
executorTask
- スケジュールする Runnabledelay
- 初めてタスクを開始する前の遅延 (ミリ秒)period
- 繰り返されるタスク実行間の期間 (ミリ秒)fixedRate
- 固定レート実行としてスケジュールするかどうか public void setRunnable(RunnableSE executorTask)
public RunnableSE getRunnable()
public void setDelay(long delay)
public long getDelay()
public void setPeriod(long period)
デフォルトは -1 で、1 回だけ実行されます。正の値の場合、タスクは実行の間に指定された間隔で繰り返し実行されます。
期間値のセマンティクスは、固定レート実行と固定遅延実行で異なることに注意してください。
注 :(固定遅延として)0 の期間は java.util.concurrent.ScheduledExecutorService
自体がそれをサポートしていないという理由だけで、サポートされていません。値 0 は 1 回限りの実行として扱われます。ただし、そもそもその値を明示的に指定しないでください。
public long getPeriod()
public boolean isOneTimeTask()
true
(このタスクが一度だけ実行される場合)getPeriod()
public void setTimeUnit(@Nullable TimeUnitSE timeUnit)
TimeUnit.MILLISECONDS
)です。public TimeUnitSE getTimeUnit()
public void setFixedRate(boolean fixedRate)
これらの実行モードの詳細については、ScheduledExecutorService javadoc を参照してください。
public boolean isFixedRate()