Class CronTask<T>
- java.lang.Object
-
- com.oracle.coherence.concurrent.executor.tasks.CronTask<T>
-
- Type Parameters:
T- the type of theTask
- All Implemented Interfaces:
Task<T>,TaskExecutorService.Registration.Option,com.tangosol.io.ExternalizableLite,com.tangosol.io.pof.PortableObject,Serializable
public class CronTask<T> extends Object implements Task<T>, com.tangosol.io.pof.PortableObject, TaskExecutorService.Registration.Option
ATaskthat can run repeatedly at scheduled time, like a crontab job.- Since:
- 21.12
- Author:
- lh, bo
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.oracle.coherence.concurrent.executor.Task
Task.Collectable<T,R>, Task.Collector<T,A,R>, Task.Completable<T,R>, Task.CompletionRunnable<T>, Task.Context<T>, Task.Coordinator<T>, Task.Option, Task.Orchestration<T>, Task.Properties, Task.SubscribedOrchestration<T>, Task.Subscriber<T>, Task.Subscription<T>, Task.Yield
-
-
Field Summary
Fields Modifier and Type Field Description protected longm_ldtNextExecutionMillisThe next execution time.protected Task<T>m_origTaskThe originalTask.protected Stringm_sCronPatternThe crontab scheduling pattern for theTask.protected Task<T>m_taskThe actualTask.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Objectclone(Object object)Creates a clone of the given object.booleanequals(Object o)Texecute(Task.Context<T> context)Executes theTask.StringgetCronPattern()Returns the crontab schedule pattern.longgetNextExecutionMillis(long cMillis)Returns the next execution time in milliseconds.Task<T>getTask()Obtains theCronTask.inthashCode()static <T> CronTask<T>of(Task<T> task, String sCronPattern)Obtains aCronTask.voidreadExternal(com.tangosol.io.pof.PofReader in)voidreadExternal(DataInput in)StringtoString()voidwriteExternal(com.tangosol.io.pof.PofWriter out)voidwriteExternal(DataOutput out)
-
-
-
Method Detail
-
getCronPattern
public String getCronPattern()
Returns the crontab schedule pattern.- Returns:
- the crontab schedule pattern
-
getNextExecutionMillis
public long getNextExecutionMillis(long cMillis)
Returns the next execution time in milliseconds.- Parameters:
cMillis- The timestamp, as a UNIX-era millis value.- Returns:
- the next execution time in milliseconds
-
execute
public T execute(Task.Context<T> context) throws Exception
Description copied from interface:TaskExecutes theTask.- Specified by:
executein interfaceTask<T>- Parameters:
context- theTask.Context- Returns:
- the result of executing the
Task - Throws:
Task.Yield- which indicates theTaskexecution should yield execution until some later point in timeException
-
readExternal
public void readExternal(DataInput in) throws IOException
- Specified by:
readExternalin interfacecom.tangosol.io.ExternalizableLite- Throws:
IOException
-
writeExternal
public void writeExternal(DataOutput out) throws IOException
- Specified by:
writeExternalin interfacecom.tangosol.io.ExternalizableLite- Throws:
IOException
-
readExternal
public void readExternal(com.tangosol.io.pof.PofReader in) throws IOException- Specified by:
readExternalin interfacecom.tangosol.io.pof.PortableObject- Throws:
IOException
-
writeExternal
public void writeExternal(com.tangosol.io.pof.PofWriter out) throws IOException- Specified by:
writeExternalin interfacecom.tangosol.io.pof.PortableObject- Throws:
IOException
-
clone
public static Object clone(Object object)
Creates a clone of the given object.- Parameters:
object- the object to clone- Returns:
- the cloned object
-
-