@OpenApiAll
public final class IdleJobService
extends java.lang.Object
Application decides when it is the most appropriate to execute the job without getting application into an inconsistent state.
Example usage:
Job job = new Job()
{
public boolean needsExecute()
{
return true;
}
public void execute(ProgressStatus progressStatus) throws Exception
{
// Do necessary work in the session.
}
public void finished()
{
// Cleanup after job is finished.
}
public String getName()
{
return "My Job";
}
};
IdleJobService.getInstance().addJob(job);
// Remove the job when it is no longer necessary.
IdleJobService.getInstance().removeJob(job);
For more information please refer to the JobExample in the examples directory.
Job| Modifier and Type | Method and Description |
|---|---|
void |
addJob(Job job)
Adds a job to the service to run every two seconds
If the same job was added previously, it will be first canceled and then re-added
Method is thread safe.
|
void |
addJob(Job job,
long interval,
int sessionCompletionDelay,
boolean onIdle)
Adds a job to the service to repeatedly run on the given interval
If the same job was added previously, it will be canceled and re-added
|
static IdleJobService |
getInstance()
Gets the singleton job service.
|
void |
removeJob(Job job)
Removes job from the service.
|
void |
runJob(Job job)
Immediately runs the job, without checking if it needs to run
|
public static IdleJobService getInstance()
public void addJob(Job job)
job - to add to the service.public void addJob(Job job, long interval, int sessionCompletionDelay, boolean onIdle)
job - a job to executeinterval - duration between two executions of the same interval seconds.sessionCompletionDelay - how many seconds must past from the last session close. See SessionManageronIdle - only execute this job when MagicDraw is idle for the provided interval of seconds
Method is thread safe.public void removeJob(Job job)
job - rule to removepublic void runJob(Job job)
job - job that was previously added to the this service