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, getPartitionKey, 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, toString
public 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()
Work
Used to choose an execution queue.
getCategory
in interface Work
getCategory
in class AbstractWork
null
for the defaultpublic String getTitle()
Work
public int getRetryCount()
AbstractWork
getRetryCount
in class AbstractWork
AbstractWork.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 updateWithSession(CoreSession session)
protected void update()
protected String getFulltextPropertyName(String indexName)
Copyright © 2018 Nuxeo. All rights reserved.