Class AsyncUpdateActivityRun
- java.lang.Object
-
- com.evolveum.midpoint.repo.common.activity.run.AbstractActivityRun<WD,AH,BS>
-
- com.evolveum.midpoint.repo.common.activity.run.LocalActivityRun<WD,AH,WS>
-
- com.evolveum.midpoint.repo.common.activity.run.IterativeActivityRun<I,WD,AH,WS>
-
- com.evolveum.midpoint.repo.common.activity.run.PlainIterativeActivityRun<AsyncUpdateEvent,AsyncUpdateWorkDefinition,AsyncUpdateActivityHandler,AbstractActivityWorkStateType>
-
- com.evolveum.midpoint.model.impl.sync.tasks.async.AsyncUpdateActivityRun
-
- All Implemented Interfaces:
ImplicitSegmentationResolver,IterativeActivityRunSpecifics,PlainIterativeActivityRunSpecifics<AsyncUpdateEvent>,ItemProcessor<AsyncUpdateEvent>,ExecutionSupport,DebugDumpable
public final class AsyncUpdateActivityRun extends PlainIterativeActivityRun<AsyncUpdateEvent,AsyncUpdateWorkDefinition,AsyncUpdateActivityHandler,AbstractActivityWorkStateType>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.evolveum.midpoint.task.api.ExecutionSupport
ExecutionSupport.CountersGroup
-
-
Field Summary
-
Fields inherited from class com.evolveum.midpoint.repo.common.activity.run.IterativeActivityRun
beans, bucket, coordinator, errorState, transientRunStatistics
-
Fields inherited from class com.evolveum.midpoint.repo.common.activity.run.AbstractActivityRun
activity, activityState, endTimestamp, startTimestamp, taskRun
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeforeRun(OperationResult result)Called before the run.protected booleancanUpdateThreadLocalStatistics()Returns true if it's safe to update TL statistics in coordinator.@NotNull ActivityReportingCharacteristicscreateReportingCharacteristics()This method should be called only after the concrete instance is fully initialized.protected StringgetChannelOverride()Channel URI that should be set into the task during this activity run.ErrorHandlingStrategyExecutor.FollowUpActiongetDefaultErrorAction()protected @NotNull ObjectReferenceTypegetDesiredTaskObjectRef()Returns the value that should be put into task.objectRef.booleanisExcludedFromStalenessChecking()True if the task is excluded from staleness checking while running this activity.voiditerateOverItemsInBucket(OperationResult opResult)Starts the item source (e.g.booleanprocessItem(@NotNull ItemProcessingRequest<AsyncUpdateEvent> request, @NotNull RunningTask workerTask, OperationResult result)Does the "pure" processing, free of any reporting, error handling, tracing, and similar issues.-
Methods inherited from class com.evolveum.midpoint.repo.common.activity.run.PlainIterativeActivityRun
isInRepository, prepareItemSourceForCurrentBucket
-
Methods inherited from class com.evolveum.midpoint.repo.common.activity.run.IterativeActivityRun
determineActivityStateForCounters, determineCurrentBucketSize, determineOverallSize, disableGlobalConnIdOperationsListener, enableGlobalConnIdOperationsListener, ensureNoParallelism, ensureNoWorkerThreads, getBucket, getConnIdOperationsReport, getContextDescription, getContextDescriptionSpaced, getErrorState, getItemsReport, getRootTaskOid, getShortName, getTransientRunStatistics, handleError, isMultithreaded, runLocally, setContextDescription, shouldReportConnIdOperations, shouldReportInternalOperations, shouldReportItems, updateStatistics
-
Methods inherited from class com.evolveum.midpoint.repo.common.activity.run.LocalActivityRun
getCurrentResultStatusBean, getSimulationTransaction, getTaskExecutionMode, runInternal, shouldUpdateProgressInStateOverview, updateItemProgressInTreeOverviewIfTimePassed
-
Methods inherited from class com.evolveum.midpoint.repo.common.activity.run.AbstractActivityRun
areActionsExecutedStatisticsSupported, areRunRecordsSupported, areStatisticsSupported, areSynchronizationStatisticsSupported, canRun, debugDump, debugDumpExtra, determineActivityStateDefinition, ensureFullExecution, ensureNoDryRun, ensureNoPreviewNorDryRun, getActivity, getActivityDefinition, getActivityExecutionMode, getActivityHandler, getActivityPath, getActivityState, getActivityStateDefinition, getBeans, getItemsProcessed, getLocalParentRun, getReportingCharacteristics, getRunningTask, getStartTimestampRequired, getTaskRun, getTreeStateOverview, getWorkDefinition, incrementCounters, incrementProgress, isBucketAnalysis, isDryRun, isFullExecution, isNoExecution, isNonScavengingWorker, isProgressSupported, isWorker, onActivityRealizationComplete, onActivityRealizationStart, recordIterativeOperationStart, run, setInstanceReady, shouldCreateWorkStateOnInitialization, standardRunResult, standardRunResult, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.task.api.ExecutionSupport
getActivityExecutionMode, getActivityPath, incrementCounters, recordIterativeOperationStart
-
Methods inherited from interface com.evolveum.midpoint.repo.common.activity.run.IterativeActivityRunSpecifics
afterBucketProcessing, afterRun, beforeBucketProcessing, resolveImplicitSegmentation, useOtherActivityStateForCounters
-
Methods inherited from interface com.evolveum.midpoint.repo.common.activity.run.PlainIterativeActivityRunSpecifics
determineCurrentBucketSize, determineOverallSize
-
-
-
-
Method Detail
-
createReportingCharacteristics
@NotNull public @NotNull ActivityReportingCharacteristics createReportingCharacteristics()
Description copied from class:AbstractActivityRunThis method should be called only after the concrete instance is fully initialized.- Specified by:
createReportingCharacteristicsin interfaceIterativeActivityRunSpecifics- Overrides:
createReportingCharacteristicsin classLocalActivityRun<AsyncUpdateWorkDefinition,AsyncUpdateActivityHandler,AbstractActivityWorkStateType>- Returns:
- Reporting characteristics of the activity run. They e.g. provide default values
for
ActivityReportingDefinition.
-
beforeRun
public void beforeRun(OperationResult result) throws ActivityRunException, CommonException
Description copied from interface:IterativeActivityRunSpecificsCalled before the run. Note that e.g. for search-based activities the search specification is *not* known at this moment.- Throws:
ActivityRunExceptionCommonException
-
getDesiredTaskObjectRef
@NotNull protected @NotNull ObjectReferenceType getDesiredTaskObjectRef()
Description copied from class:LocalActivityRunReturns the value that should be put into task.objectRef. Should be overridden by subclasses. It should be called _after_IterativeActivityRunSpecifics.beforeRun(OperationResult)method, in order to give the execution a chance to prepare data for this method.
-
iterateOverItemsInBucket
public void iterateOverItemsInBucket(OperationResult opResult) throws CommunicationException, ObjectNotFoundException, SchemaException, ConfigurationException, ExpressionEvaluationException
Description copied from class:IterativeActivityRunStarts the item source (e.g. `searchObjectsIterative` call or `synchronize` call) and begins processing items generated by it. Returns when the source finishes. For example: - for search-based tasks, this call returns immediately after the iterative search is over; - for live sync task, this returns after all changes were fetched and acknowledged, and the resulting token was written; - for async update task, this returns also after all changes were fetched and acknowledged and confirmed to the source.- Specified by:
iterateOverItemsInBucketin interfacePlainIterativeActivityRunSpecifics<AsyncUpdateEvent>- Specified by:
iterateOverItemsInBucketin classIterativeActivityRun<AsyncUpdateEvent,AsyncUpdateWorkDefinition,AsyncUpdateActivityHandler,AbstractActivityWorkStateType>- Throws:
CommunicationExceptionObjectNotFoundExceptionSchemaExceptionConfigurationExceptionExpressionEvaluationException
-
processItem
public boolean processItem(@NotNull @NotNull ItemProcessingRequest<AsyncUpdateEvent> request, @NotNull @NotNull RunningTask workerTask, OperationResult result) throws CommonException, ActivityRunExceptionDescription copied from interface:ItemProcessorDoes the "pure" processing, free of any reporting, error handling, tracing, and similar issues.- Specified by:
processItemin interfaceItemProcessor<AsyncUpdateEvent>- Specified by:
processItemin classIterativeActivityRun<AsyncUpdateEvent,AsyncUpdateWorkDefinition,AsyncUpdateActivityHandler,AbstractActivityWorkStateType>- Throws:
CommonExceptionActivityRunException
-
getDefaultErrorAction
@NotNull public ErrorHandlingStrategyExecutor.FollowUpAction getDefaultErrorAction()
- Specified by:
getDefaultErrorActionin interfacePlainIterativeActivityRunSpecifics<AsyncUpdateEvent>- Specified by:
getDefaultErrorActionin classIterativeActivityRun<AsyncUpdateEvent,AsyncUpdateWorkDefinition,AsyncUpdateActivityHandler,AbstractActivityWorkStateType>- Returns:
- Default error action if no policy is specified or if no policy entry matches.
-
isExcludedFromStalenessChecking
public boolean isExcludedFromStalenessChecking()
Description copied from class:LocalActivityRunTrue if the task is excluded from staleness checking while running this activity.
-
getChannelOverride
protected String getChannelOverride()
Description copied from class:IterativeActivityRunChannel URI that should be set into the task during this activity run. (If not null.)
-
canUpdateThreadLocalStatistics
protected boolean canUpdateThreadLocalStatistics()
Description copied from class:IterativeActivityRunReturns true if it's safe to update TL statistics in coordinator. Normally, it is so. A notable exception is asynchronous update using AMQP (an experimental feature for now). The reason is that the message handling occurs in a thread different from the task thread. See MID-7464.
-
-