Class DocumentRoutingEscalationServiceImpl.EscalationRuleWork
- java.lang.Object
-
- org.nuxeo.ecm.core.work.AbstractWork
-
- org.nuxeo.ecm.platform.routing.core.impl.DocumentRoutingEscalationServiceImpl.EscalationRuleWork
-
- All Implemented Interfaces:
Serializable
,Work
- Enclosing class:
- DocumentRoutingEscalationServiceImpl
public static class DocumentRoutingEscalationServiceImpl.EscalationRuleWork extends AbstractWork
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.nuxeo.ecm.core.work.api.Work
Work.Progress, Work.State
-
-
Field Summary
Fields Modifier and Type Field Description static String
CATEGORY
protected String
escalationRuleId
protected String
nodeDocId
-
Fields inherited from class org.nuxeo.ecm.core.work.AbstractWork
callerThread, completionTime, docId, docIds, FAILURE_EXCEPTION, FAILURE_MSG, GLOBAL_DLQ_COUNT_REGISTRY_NAME, id, isTree, loginContext, originatingUsername, progress, RANDOM, repositoryName, schedulePath, schedulingTime, session, startTime, state, status, suspended, suspending, traceContext, WORK_FAILED_EVENT, WORK_INSTANCE
-
-
Constructor Summary
Constructors Constructor Description EscalationRuleWork(String escalationRuleId, String nodeDocId, String repositoryName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getCategory()
Gets the category for this work.boolean
getExecutionStatus(GraphNode.EscalationRule rule, CoreSession session)
Used to check the executed status when the escalationRule is run by a worker in a work queueint
getRetryCount()
Gets the number of times that this Work instance can be retried in case of concurrent update exceptions.String
getTitle()
Gets a human-readable name for this work instance.boolean
isIdempotent()
Returns true if a work with a givenWork.getId()
should always produce the same result.void
work()
This method should implement the actual work done by theWork
instance.-
Methods inherited from class org.nuxeo.ecm.core.work.AbstractWork
appendWorkToDeadLetterQueue, buildWorkFailureEventProps, cleanUp, closeSession, commitOrRollbackTransaction, equals, getCompletionTime, getDocument, getDocuments, getId, getOriginatingUsername, getPartitionKey, getProgress, getSchedulePath, getSchedulingTime, getSpanFromContext, getStartTime, getStatus, getWorkInstanceState, hashCode, initSession, initSession, isDocumentTree, isSuspending, isWorkInstanceSuspended, newDocumentLocation, openSystemSession, openUserSession, run, runWorkWithTransaction, setCompletionTime, setDocument, setDocument, setDocuments, setOriginatingUsername, setProgress, setSchedulePath, setStartTime, setStatus, setWorkInstanceState, setWorkInstanceSuspending, startTransaction, suspended, toString, workFailed
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.nuxeo.ecm.core.work.api.Work
isCoalescing, isGroupJoin, onGroupJoinCompletion
-
-
-
-
Field Detail
-
escalationRuleId
protected String escalationRuleId
-
CATEGORY
public static final String CATEGORY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EscalationRuleWork
public EscalationRuleWork(String escalationRuleId, String nodeDocId, String repositoryName)
-
-
Method Detail
-
getTitle
public String getTitle()
Description copied from interface:Work
Gets a human-readable name for this work instance.- Returns:
- a human-readable name
-
getCategory
public String getCategory()
Description copied from interface:Work
Gets the category for this work.Used to choose an execution queue.
- Specified by:
getCategory
in interfaceWork
- Overrides:
getCategory
in classAbstractWork
- Returns:
- the category, or
null
for the default
-
getRetryCount
public int getRetryCount()
Description copied from class:AbstractWork
Gets the number of times that this Work instance can be retried in case of concurrent update exceptions.- Overrides:
getRetryCount
in classAbstractWork
- Returns:
- 0 for no retry, or more if some retries are possible
- See Also:
AbstractWork.work()
-
isIdempotent
public boolean isIdempotent()
Description copied from interface:Work
Returns true if a work with a givenWork.getId()
should always produce the same result. The WorkManager implementation can safely skip duplicate executions of idempotent work.
-
work
public void work()
Description copied from interface:Work
This method should implement the actual work done by theWork
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 callWork.isSuspending()
, and iftrue
callWork.suspended()
return early with saved state data.Clean up can by implemented by
Work.cleanUp(boolean, Exception)
.- Specified by:
work
in interfaceWork
- Specified by:
work
in classAbstractWork
- See Also:
Work.isSuspending()
,Work.suspended()
,Work.cleanUp(boolean, java.lang.Exception)
-
getExecutionStatus
public boolean getExecutionStatus(GraphNode.EscalationRule rule, CoreSession session)
Used to check the executed status when the escalationRule is run by a worker in a work queue
-
-