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>
,com.oracle.coherence.concurrent.executor.TaskExecutorService.Registration.Option
,ExternalizableLite
,PortableObject
,Serializable
public class CronTask<T> extends Object implements Task<T>, PortableObject, com.oracle.coherence.concurrent.executor.TaskExecutorService.Registration.Option
ATask
that 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 boolean
m_fClone
Flag indicating whether the task should be cloned after each execution;protected long
m_ldtNextExecutionMillis
The next execution time.protected Task<T>
m_origTask
The originalTask
.protected String
m_sCronPattern
The crontab scheduling pattern for theTask
.protected Task<T>
m_task
The actualTask
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Object
clone(Object object)
Creates a clone of the given object.boolean
equals(Object o)
T
execute(Task.Context<T> context)
Executes theTask
.String
getCronPattern()
Returns the crontab schedule pattern.long
getNextExecutionMillis(long cMillis)
Returns the next execution time in milliseconds.Task<T>
getTask()
Obtains theCronTask
.int
hashCode()
static <T> CronTask<T>
of(Task<T> task, String sCronPattern)
Obtains aCronTask
.static <T> CronTask<T>
of(Task<T> task, String sCronPattern, boolean fClone)
Obtains aCronTask
.void
readExternal(PofReader in)
Restore the contents of a user type instance by reading its state using the specified PofReader object.void
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from the passed DataInput object.String
toString()
void
writeExternal(PofWriter out)
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.void
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into the passed DataOutput object.
-
-
-
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:Task
Executes theTask
.- Specified by:
execute
in interfaceTask<T>
- Parameters:
context
- theTask.Context
- Returns:
- the result of executing the
Task
- Throws:
Task.Yield
- which indicates theTask
execution should yield execution until some later point in timeException
-
readExternal
public void readExternal(DataInput in) throws IOException
Description copied from interface:ExternalizableLite
Restore the contents of this object by loading the object's state from the passed DataInput object.- Specified by:
readExternal
in interfaceExternalizableLite
- Parameters:
in
- the DataInput stream to read data from in order to restore the state of this object- Throws:
IOException
- if an I/O exception occursNotActiveException
- if the object is not in its initial state, and therefore cannot be deserialized into
-
writeExternal
public void writeExternal(DataOutput out) throws IOException
Description copied from interface:ExternalizableLite
Save the contents of this object by storing the object's state into the passed DataOutput object.- Specified by:
writeExternal
in interfaceExternalizableLite
- Parameters:
out
- the DataOutput stream to write the state of this object to- Throws:
IOException
- if an I/O exception occurs
-
readExternal
public void readExternal(PofReader in) throws IOException
Description copied from interface:PortableObject
Restore the contents of a user type instance by reading its state using the specified PofReader object.- Specified by:
readExternal
in interfacePortableObject
- Parameters:
in
- the PofReader from which to read the object's state- Throws:
IOException
- if an I/O error occurs
-
writeExternal
public void writeExternal(PofWriter out) throws IOException
Description copied from interface:PortableObject
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.- Specified by:
writeExternal
in interfacePortableObject
- Parameters:
out
- the PofWriter to which to write the object's state- Throws:
IOException
- if an I/O error occurs
-
clone
public static Object clone(Object object)
Creates a clone of the given object.- Parameters:
object
- the object to clone- Returns:
- the cloned object
-
-