Package org.nuxeo.ecm.core
Class BatchFinderWork
java.lang.Object
org.nuxeo.ecm.core.work.AbstractWork
org.nuxeo.ecm.core.BatchFinderWork
- All Implemented Interfaces:
Serializable,Work
- Direct Known Subclasses:
DBSTransactionState.FindReadAclsWork
Abstract Work to find the ids of documents for which some process must be executed in batch, based on a NXQL query.
- Since:
- 9.10
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.nuxeo.ecm.core.work.api.Work
Work.Progress, Work.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected static final intprotected static final intFields 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
ConstructorsConstructorDescriptionBatchFinderWork(String repositoryName, String nxql, String originatingUsername) -
Method Summary
Modifier and TypeMethodDescriptionabstract WorkgetBatchProcessorWork(List<String> docIds) abstract intThe batch size to use.intGets the number of times that this Work instance can be retried in case of concurrent update exceptions.voidwork()This method should implement the actual work done by theWorkinstance.Methods inherited from class org.nuxeo.ecm.core.work.AbstractWork
appendWorkToDeadLetterQueue, buildWorkFailureEventProps, cleanUp, closeSession, commitOrRollbackTransaction, equals, getCategory, getCompletionTime, getDocument, getDocuments, getId, getOriginatingUsername, getPartitionKey, getProgress, getSchedulePath, getSchedulingTime, getSpanFromContext, getStartTime, getStatus, getWorkInstanceState, hashCode, isDocumentTree, isSuspending, isWorkInstanceSuspended, newDocumentLocation, openSystemSession, openUserSession, run, runWorkWithTransaction, setCompletionTime, setDocument, setDocument, setDocuments, setOriginatingUsername, setProgress, setSchedulePath, setStartTime, setStatus, setWorkInstanceState, setWorkInstanceSuspending, startTransaction, suspended, toString, workFailedMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.nuxeo.ecm.core.work.api.Work
getTitle, isCoalescing, isGroupJoin, isIdempotent, onGroupJoinCompletion
-
Field Details
-
SCROLL_KEEPALIVE_SECONDS
protected static final int SCROLL_KEEPALIVE_SECONDS- See Also:
-
nxql
-
TRANSACTION_TIMEOUT_SECONDS
protected static final int TRANSACTION_TIMEOUT_SECONDS- Since:
- 2023.17
- See Also:
-
-
Constructor Details
-
BatchFinderWork
-
-
Method Details
-
getRetryCount
public int getRetryCount()Description copied from class:AbstractWorkGets the number of times that this Work instance can be retried in case of concurrent update exceptions.- Overrides:
getRetryCountin classAbstractWork- Returns:
- 0 for no retry, or more if some retries are possible
- See Also:
-
getBatchSize
public abstract int getBatchSize()The batch size to use. -
work
public void work()Description copied from interface:WorkThis method should implement the actual work done by theWorkinstance.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 iftruecallWork.suspended()return early with saved state data.Clean up can by implemented by
Work.cleanUp(boolean, Exception).- Specified by:
workin interfaceWork- Specified by:
workin classAbstractWork- See Also:
-
getBatchProcessorWork
-