public class SleepWork extends AbstractWork
Work.Progress, Work.State
Modifier and Type | Field and Description |
---|---|
protected String |
category |
protected static boolean |
debug
used for debug.
|
protected static CountDownLatch |
doneLatch
used for debug.
|
protected long |
durationMillis |
protected static CountDownLatch |
finishLatch
used for debug.
|
protected static CountDownLatch |
readyLatch
used for debug.
|
protected static CountDownLatch |
startLatch
used for debug.
|
completionTime, docId, docIds, id, isTree, progress, RANDOM, repositoryName, schedulePath, schedulingTime, session, startTime, state, status, suspended, suspending
Constructor and Description |
---|
SleepWork(long durationMillis)
Creates a work instance that does nothing but sleep.
|
SleepWork(long durationMillis,
boolean debug)
If debug is true, then the various debug* methods must be called in the proper order for the work to start and
stop:
debugStart() , debugFinish() . |
SleepWork(long durationMillis,
boolean debug,
String id) |
SleepWork(long durationMillis,
String category,
boolean debug) |
SleepWork(long durationMillis,
String category,
boolean debug,
String id) |
Modifier and Type | Method and Description |
---|---|
void |
debugFinish() |
void |
debugStart() |
void |
debugWaitDone() |
void |
debugWaitReady() |
protected void |
doWork() |
String |
getCategory()
Gets the category for this work.
|
String |
getTitle()
Gets a human-readable name for this work instance.
|
String |
toString() |
void |
work()
This method should implement the actual work done by the
Work instance. |
cleanUp, closeSession, commitOrRollbackTransaction, equals, getCompletionTime, getDocument, getDocuments, getId, getProgress, getRetryCount, getSchedulePath, getSchedulingTime, getStartTime, getState, getStatus, getUserId, getWorkInstanceResult, getWorkInstanceState, hashCode, initSession, initSession, isDocumentTree, isSuspending, isWorkInstanceSuspended, newDocumentLocation, run, runWorkWithTransaction, runWorkWithTransactionAndCheckExceptions, setCompletionTime, setDocument, setDocument, setDocuments, setProgress, setSchedulePath, setStartTime, setStatus, setWorkInstanceState, setWorkInstanceSuspending, startTransaction, suspended
protected long durationMillis
protected static transient boolean debug
protected static CountDownLatch readyLatch
protected static CountDownLatch doneLatch
protected static CountDownLatch startLatch
protected static CountDownLatch finishLatch
public SleepWork(long durationMillis)
durationMillis
- the sleep durationpublic SleepWork(long durationMillis, boolean debug)
debugStart()
, debugFinish()
.durationMillis
- the sleep durationdebug
- true
for debugpublic String getCategory()
Work
Used to choose an execution queue.
getCategory
in interface Work
getCategory
in class AbstractWork
null
for the defaultpublic String getTitle()
Work
public void work()
Work
Work
instance.
It should periodically update its progress through Work.setProgress(org.nuxeo.ecm.core.work.api.Work.Progress)
.
To allow for suspension by the WorkManager
, it should periodically call Work.isSuspending()
, and if
true
call Work.suspended()
return early with saved state data.
Clean up can by implemented by #cleanUp()
.
work
in interface Work
work
in class AbstractWork
Work.isSuspending()
,
Work.suspended()
,
Work.cleanUp(boolean, java.lang.Exception)
protected void doWork() throws InterruptedException
InterruptedException
public String toString()
toString
in class AbstractWork
public void debugWaitReady() throws InterruptedException
InterruptedException
public void debugWaitDone() throws InterruptedException
InterruptedException
public void debugStart()
public void debugFinish()
Copyright © 2015 Nuxeo SA. All rights reserved.