public class PeriodicTaskPool extends java.lang.Object implements Stoppable
PeriodicTaskPool.PeriodicRunnableTask
import com.microsoft.applicationinsights.internal.util.PeriodicTaskPool;
public class BeeperControl {
public void beepForHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
// create the PeriodicRunnableTask from runnable
PeriodicTaskPool.PeriodicRunnableTask periodicTask = PeriodicTaskPool.PeriodicRunnableTask.getInstance(beeper,
0, 1, TimeUnit.SECONDS, PeriodicTaskManager.class,
"Beeper");
ScheduledFuture<?> future = periodicTaskPool.executePeriodicRunnableTask(periodicTask);
// Cancel the PeriodicRunnableTask
PeriodicTaskManager.INSTANCE.cancelPeriodicTask(periodicTask);
}
}| Modifier and Type | Class and Description |
|---|---|
static class |
PeriodicTaskPool.PeriodicRunnableTask
A Class that holds the instance of
Runnable command along with it's unique taskId, initial delay,
repetition period and TimeUnit of repetition period |
| Constructor and Description |
|---|
PeriodicTaskPool(int poolSize,
java.lang.String poolName) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
cancelPeriodicTask(PeriodicTaskPool.PeriodicRunnableTask task)
Cancels the task, if it's running and removes it from the periodicTaskMap.
|
java.util.concurrent.ScheduledFuture<?> |
executePeriodicRunnableTask(PeriodicTaskPool.PeriodicRunnableTask task)
Executes a
PeriodicTaskPool.PeriodicRunnableTask |
void |
stop(long timeout,
java.util.concurrent.TimeUnit timeUnit) |
void |
stopAndClear()
Stop all the tasks and removes them from the collection.
|
public PeriodicTaskPool(int poolSize,
java.lang.String poolName)
public java.util.concurrent.ScheduledFuture<?> executePeriodicRunnableTask(PeriodicTaskPool.PeriodicRunnableTask task)
PeriodicTaskPool.PeriodicRunnableTasktask - PeriodicRunnableTaskpublic boolean cancelPeriodicTask(PeriodicTaskPool.PeriodicRunnableTask task)
task - PeriodicRunnableTaskpublic void stop(long timeout,
java.util.concurrent.TimeUnit timeUnit)
public void stopAndClear()