public class FulltextUpdaterWork extends AbstractWork
This is done single-threaded through the use of a WorkManager queue with only one thread.
| Modifier and Type | Class and Description |
|---|---|
static class |
FulltextUpdaterWork.IndexAndText |
Work.Progress, Work.State| Modifier and Type | Field and Description |
|---|---|
protected static String |
CATEGORY |
static String |
FULLTEXT_DEFAULT_INDEX |
protected List<FulltextUpdaterWork.IndexAndText> |
indexesAndText
The indexes and text to be updated.
|
protected boolean |
isJob
If true, then all the documents with the id as their jobId are updated.
|
protected boolean |
isSimpleText
Is this a simple text index or a binary text one.
|
static String |
SYSPROP_FULLTEXT_BINARY |
static String |
SYSPROP_FULLTEXT_JOBID |
static String |
SYSPROP_FULLTEXT_SIMPLE |
protected static String |
TITLE |
callerThread, completionTime, docId, docIds, id, isTree, loginContext, originatingUsername, progress, RANDOM, repositoryName, schedulePath, schedulingTime, session, startTime, state, status, suspended, suspending| Constructor and Description |
|---|
FulltextUpdaterWork(String repositoryName,
String docId,
boolean isSimpleText,
boolean isJob,
List<FulltextUpdaterWork.IndexAndText> indexesAndText) |
| Modifier and Type | Method and Description |
|---|---|
String |
getCategory()
Gets the category for this work.
|
protected String |
getFulltextPropertyName(String indexName) |
int |
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.
|
protected void |
update() |
protected void |
updateWithSession(CoreSession session) |
void |
work()
This method should implement the actual work done by the
Work instance. |
cleanUp, closeSession, commitOrRollbackTransaction, equals, getCompletionTime, getDocument, getDocuments, getId, getOriginatingUsername, getProgress, getSchedulePath, getSchedulingTime, 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, toStringpublic static final String SYSPROP_FULLTEXT_SIMPLE
public static final String SYSPROP_FULLTEXT_BINARY
public static final String SYSPROP_FULLTEXT_JOBID
public static final String FULLTEXT_DEFAULT_INDEX
protected static final String CATEGORY
protected static final String TITLE
protected final boolean isSimpleText
protected final boolean isJob
protected final List<FulltextUpdaterWork.IndexAndText> indexesAndText
public FulltextUpdaterWork(String repositoryName, String docId, boolean isSimpleText, boolean isJob, List<FulltextUpdaterWork.IndexAndText> indexesAndText)
public String getCategory()
WorkUsed to choose an execution queue.
getCategory in interface WorkgetCategory in class AbstractWorknull for the defaultpublic String getTitle()
Workpublic int getRetryCount()
AbstractWorkgetRetryCount in class AbstractWorkAbstractWork.work()public void work()
WorkWork 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 Workwork in class AbstractWorkWork.isSuspending(),
Work.suspended(),
Work.cleanUp(boolean, java.lang.Exception)protected void updateWithSession(CoreSession session)
protected void update()
protected String getFulltextPropertyName(String indexName)
Copyright © 2017 Nuxeo. All rights reserved.