Package de.hybris.platform.cronjob.jalo
Class BatchJob
- All Implemented Interfaces:
Serializable,Comparable
A
BatchJob is a subclass of Job, which divides the task which should be performed into
several Steps. Thus a complex task (for example a BMECat import) can be divided into several small steps
(for example article, media and price import) which are assigned to one BatchJob.
The performCronJob(CronJob) implementation of the BatchJob iterates over all pending steps and
executes each Step.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.hybris.platform.cronjob.jalo.Job
Job.JobFileLogContainer, Job.SynchronicityNested classes/interfaces inherited from class de.hybris.platform.jalo.GenericItem
GenericItem.GenericItemImplNested classes/interfaces inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LocalizableItem.LocalizableItemImplNested classes/interfaces inherited from class de.hybris.platform.jalo.ExtensibleItem
ExtensibleItem.ExtensibleItemImplNested classes/interfaces inherited from class de.hybris.platform.jalo.Item
Item.AttributeFilter, Item.AttributeMode, Item.CachedGetter, Item.CachedSetter, Item.ItemAttributeMap, Item.ItemConstraint, Item.ItemImpl, Item.JaloCachedComputationException -
Field Summary
Fields inherited from class de.hybris.platform.cronjob.jalo.GeneratedBatchJob
DEFAULT_INITIAL_ATTRIBUTES, STEPSFields inherited from class de.hybris.platform.cronjob.jalo.Job
CTX_CURRENTCRONJOB, CTX_CURRENTJOBFields inherited from class de.hybris.platform.cronjob.jalo.GeneratedJob
ACTIVE, ALTERNATIVEDATASOURCEID, CHANGERECORDINGENABLED, CODE, CRONJOBS, CRONJOBSHANDLER, EMAILADDRESS, EMAILNOTIFICATIONTEMPLATE, ERRORMODE, LOGLEVELDATABASE, LOGLEVELFILE, LOGTODATABASE, LOGTOFILE, NODEGROUP, NODEID, NUMBEROFRETRIES, PRIORITY, REMOVEONEXIT, REQUESTABORT, REQUESTABORTSTEP, RESTRICTIONS, RESTRICTIONSHANDLER, RETRY, SENDEMAIL, SESSIONCONTEXTVALUES, SESSIONCURRENCY, SESSIONLANGUAGE, SESSIONUSER, SINGLEEXECUTABLE, TRIGGERS, TRIGGERSHANDLER, USEREADONLYDATASOURCEFields inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LANGUAGE_FALLBACK_ENABLEDFields inherited from class de.hybris.platform.jalo.Item
_CREATION_TIME_INTERNAL, _MODIFIED_TIME_INTERNAL, accessorLog, CREATION_TIME, DISABLE_ATTRIBUTE_CHECK, DISABLE_ITEMCHECK_BEFORE_REMOVABLE, EVEN, FEATURE_ACCESSMAP_QUALIFIER, HJMPTS, INITIAL_CREATION_FLAG, isJaloOnly, MODIFIED_TIME, NEGATIVE, NOT_FOUND, OWNER, PK, POSITIVE, SAVE_FROM_SERVICE_LAYER, staticTransientObjects, TYPEFields inherited from class de.hybris.platform.util.BridgeAbstraction
impl, tenant -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected StepaddStep()addStep(ComposedType stepType) Adds aStepof the specified type to theBatchJoband returns it.addStep(ComposedType stepType, Map additionalAttributes) Adds aStepof the specified type to theBatchJoband returns it.protected booleanReturnstrue, if theBatchJobcan be undone using the specifiedCronJob.getAllPreviousSteps(Step step) Returns aCollectionof all predecessorStepsof the specifiedStep.getAllPreviousSteps(SessionContext ctx, Step step) Returns aCollectionof all predecessorStepsof the specifiedStep.protected static final StepReturns the firstStep.Returns the firstStep.Returns the lastStep.Returns the lastStep.protected IntegerReturns the next sequence number.protected IntegerReturns the next sequence number.getSteps()Returns aListof allStepsof theBatchJob.getSteps(int start, int count) Returns aListcontaining the specified range ofStepsof theBatchJob.getSteps(SessionContext ctx) Returns aListof allStepsof theBatchJob.getSteps(SessionContext ctx, int start, int count) Returns aListcontaining the specified range ofStepsof theBatchJob.protected static final booleanbooleanisAbortable(CronJob cronJob) Is abortable if the current step supports abort (seeStep.isAbortable().protected CronJob.CronJobResultperformCronJob(CronJob cronJob) Performs theBatchJobusing the specifiedCronJob.voidremove(SessionContext ctx) First all assignedCronJobswere removed, than theJobitself.protected static final voidvoidsetSteps(SessionContext ctx, List<Step> steps) Sets theStepsof theBatchJoband deletes allStepswhich were assigned before and which are not part of the specifiedCollection.protected CronJob.CronJobResultundoCronJob(CronJob cronJob) Starts the undo-process of theBatchJobfor the specifiedCronJob.protected static final voidMethods inherited from class de.hybris.platform.cronjob.jalo.GeneratedBatchJob
getDefaultAttributeModes, setStepsMethods inherited from class de.hybris.platform.cronjob.jalo.Job
canPerform, checkRemovable, configureCronjob, createItem, createLogContext, debug, error, fatal, getConfigAttributes, getCronJobsByCode, getCronJobsByCode, getCurrentLogContainer, getEffectiveLogLevel, getNonInitialAttributes, info, isDebugEnabled, isEnabledFor, isErrorEnabled, isInfoEnabled, isPerformable, isPerformable, isUndoable, isWarnEnabled, jobIsCurrentlyRunning, log, logToFile, perform, perform, perform, prepareAfterFinishEvent, prepareBeforeStartEvent, saveToLogFile, sendFinishedEvent, sendStartEvent, setCode, setCronJobs, setCurrentLogContainer, setNonInitialAttributes, startOwnSession, stopOwnSession, switchDataSource, undo, undo, unsetAlternativeDataSource, unsetCurrentLogContainer, warnMethods inherited from class de.hybris.platform.cronjob.jalo.GeneratedJob
addToRestrictions, addToRestrictions, addToTriggers, addToTriggers, getAlternativeDataSourceID, getAlternativeDataSourceID, getCode, getCode, getCronJobs, getCronJobs, getEmailAddress, getEmailAddress, getEmailNotificationTemplate, getEmailNotificationTemplate, getErrorMode, getErrorMode, getLogLevelDatabase, getLogLevelDatabase, getLogLevelFile, getLogLevelFile, getNodeGroup, getNodeGroup, getNodeID, getNodeID, getNodeIDAsPrimitive, getNodeIDAsPrimitive, getNumberOfRetries, getNumberOfRetries, getNumberOfRetriesAsPrimitive, getNumberOfRetriesAsPrimitive, getPriority, getPriority, getPriorityAsPrimitive, getPriorityAsPrimitive, getRestrictions, getRestrictions, getSessionCurrency, getSessionCurrency, getSessionLanguage, getSessionLanguage, getSessionUser, getSessionUser, getTriggers, getTriggers, isActive, isActive, isActiveAsPrimitive, isActiveAsPrimitive, isChangeRecordingEnabled, isChangeRecordingEnabled, isChangeRecordingEnabledAsPrimitive, isChangeRecordingEnabledAsPrimitive, isLogToDatabase, isLogToDatabase, isLogToDatabaseAsPrimitive, isLogToDatabaseAsPrimitive, isLogToFile, isLogToFile, isLogToFileAsPrimitive, isLogToFileAsPrimitive, isRemoveOnExit, isRemoveOnExit, isRemoveOnExitAsPrimitive, isRemoveOnExitAsPrimitive, isRequestAbort, isRequestAbort, isRequestAbortAsPrimitive, isRequestAbortAsPrimitive, isRequestAbortStep, isRequestAbortStep, isRequestAbortStepAsPrimitive, isRequestAbortStepAsPrimitive, isRetry, isRetry, isRetryAsPrimitive, isRetryAsPrimitive, isSendEmail, isSendEmail, isSendEmailAsPrimitive, isSendEmailAsPrimitive, isSingleExecutable, isSingleExecutable, isSingleExecutableAsPrimitive, isSingleExecutableAsPrimitive, isUseReadOnlyDatasource, isUseReadOnlyDatasource, isUseReadOnlyDatasourceAsPrimitive, isUseReadOnlyDatasourceAsPrimitive, removeFromRestrictions, removeFromRestrictions, removeFromTriggers, removeFromTriggers, setActive, setActive, setActive, setActive, setAlternativeDataSourceID, setAlternativeDataSourceID, setChangeRecordingEnabled, setChangeRecordingEnabled, setChangeRecordingEnabled, setChangeRecordingEnabled, setCode, setEmailAddress, setEmailAddress, setEmailNotificationTemplate, setEmailNotificationTemplate, setErrorMode, setErrorMode, setLogLevelDatabase, setLogLevelDatabase, setLogLevelFile, setLogLevelFile, setLogToDatabase, setLogToDatabase, setLogToDatabase, setLogToDatabase, setLogToFile, setLogToFile, setLogToFile, setLogToFile, setNodeGroup, setNodeGroup, setNodeID, setNodeID, setNodeID, setNodeID, setNumberOfRetries, setNumberOfRetries, setNumberOfRetries, setNumberOfRetries, setPriority, setPriority, setPriority, setPriority, setRemoveOnExit, setRemoveOnExit, setRemoveOnExit, setRemoveOnExit, setRequestAbort, setRequestAbort, setRequestAbort, setRequestAbort, setRequestAbortStep, setRequestAbortStep, setRequestAbortStep, setRequestAbortStep, setRestrictions, setRestrictions, setRetry, setRetry, setRetry, setRetry, setSendEmail, setSendEmail, setSendEmail, setSendEmail, setSessionCurrency, setSessionCurrency, setSessionLanguage, setSessionLanguage, setSessionUser, setSessionUser, setSingleExecutable, setSingleExecutable, setSingleExecutable, setSingleExecutable, setTriggers, setTriggers, setUseReadOnlyDatasource, setUseReadOnlyDatasource, setUseReadOnlyDatasource, setUseReadOnlyDatasourceMethods inherited from class de.hybris.platform.jalo.GenericItem
getImplementation, getInitialProperties, getRelatedItems, getRelatedItems, setRelatedItemsMethods inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllValuesSessionContext, getLocalizedProperty, getLocalizedProperty, getLocalizedPropertyInternal, getLocalizedPropertyNames, getLocalizedPropertyNames, hasLanguage, isEmptyValue, isFallbackEnabled, removeLocalizedProperty, removeLocalizedProperty, setAllLocalizedProperties, setAllLocalizedProperties, setLocalizedProperty, setLocalizedPropertyMethods inherited from class de.hybris.platform.jalo.ExtensibleItem
createNonClassAccessor, getAllProperties, getAllProperties, getProperty, getProperty, getPropertyNames, getPropertyNames, removeProperty, removeProperty, setAllProperties, setAllProperties, setProperty, setPropertyMethods inherited from class de.hybris.platform.jalo.Item
addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addNegativePermission, addPermission, addPositivePermission, assureExtensionsLoaded, changeTypeAfterCreation, checkConstraint, checkItemPermission, checkMandatoryAttribute, checkMandatoryAttribute, checkPermission, checkPermission, clearPermission, compareTo, ctx, doAfterRemove, doBeforeRemove, equals, getAccessorFor, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributesInternal, getAllLinkedItems, getAndCheckCacheBoundItem, getAttribute, getAttribute, getCacheBoundItem, getComposedType, getComposedTypePK, getCreationTime, getCurrentlyRemovingCount, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItemsCount, getLinkedItemsCount, getLinkedItemsCount, getModificationTime, getNegativePermissions, getOwner, getPartOfRemovedSessionMarker, getPermissionMap, getPermissions, getPersistenceVersion, getPK, getPositivePermissions, getRestrictedPrincipals, getSession, getSyncObject, getTenant, getTransientObject, getTransientObjectMap, hashCode, hasRegisteredClassAccessorFor, internal_registerClassAccessorFor, internal_registerNonClassAccessorFor, invalidateLocalCaches, isAlive, isCacheBound, isCurrentlyRemoving, isCurrentlyRemoving, isEmptyRelationValue, isInCreate, isInstanceOf, isItemCheckBeforeRemoveableDisabled, isMarkModifiedDisabled, isRelationLocalizationFallbackEnabled, newInstance, notifyExtensionsAfterItemCreation, notifyExtensionsBeforeItemCreation, notifyItemRemoval, notifyManagerAboutItemRemoval, readResolve, registerAccessFor, registerAccessFor, registerJaloInvalidationListeners, remove, removeItemCollection, removeItemCollection, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinks, removePartOfItems, removePartOfItems, setAllAttributes, setAllAttributes, setAllAttributesInternal, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAttribute, setAttribute, setAttributeFromString, setAttributeFromString, setCacheBound, setComposedType, setCreationTime, setImplementation, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setModificationTime, setOwner, setPermissionsByMap, setTransientObject, setUseTA, suppressRelation, toString, useTA, writeReplaceMethods inherited from class de.hybris.platform.util.BridgeAbstraction
setTenant
-
Constructor Details
-
BatchJob
public BatchJob()
-
-
Method Details
-
remove
Description copied from class:JobFirst all assignedCronJobswere removed, than theJobitself.- Overrides:
removein classJob- Parameters:
ctx- A SessionContext object- Throws:
ConsistencyCheckException- if this item could not be removed for some reason- See Also:
-
setCurrentlyExecutingStep
-
unsetCurrentlyExecutingStep
protected static final void unsetCurrentlyExecutingStep() -
getCurrentlyExecutingStep
-
hasCurrentlyExecutingStep
protected static final boolean hasCurrentlyExecutingStep() -
isAbortable
Is abortable if the current step supports abort (seeStep.isAbortable().- Overrides:
isAbortablein classJob- Parameters:
cronJob- the current execution of this job.- Returns:
trueif the cronjob is running and the job supports aborting viaGeneratedCronJob.setRequestAbort(boolean)- See Also:
-
setSteps
Sets theStepsof theBatchJoband deletes allStepswhich were assigned before and which are not part of the specifiedCollection.- Specified by:
setStepsin classGeneratedBatchJob- Parameters:
ctx- 123steps- theListof the newSteps
-
getSteps
Returns aListof allStepsof theBatchJob.- Overrides:
getStepsin classGeneratedBatchJob- Returns:
- a
Listof allStepsof theBatchJob
-
getSteps
Returns aListof allStepsof theBatchJob.- Specified by:
getStepsin classGeneratedBatchJob- Parameters:
ctx- 123- Returns:
- a
Listof allStepsof theBatchJob
-
getSteps
Returns aListcontaining the specified range ofStepsof theBatchJob. (Range: start -> (start + count))- Parameters:
start- the start index of the rangecount- the number of steps in the range- Returns:
- a
Listcontaining the specified range ofStepsof theBatchJob
-
getSteps
Returns aListcontaining the specified range ofStepsof theBatchJob. (Range: start -> (start + count))- Parameters:
ctx- 123start- the start index of the rangecount- the number of steps in the range- Returns:
- a
Listcontaining the specified range ofStepsof theBatchJob
-
getFirstStep
Returns the firstStep.- Returns:
- the first
Step
-
getFirstStep
Returns the firstStep.- Parameters:
ctx-- Returns:
- the first
Step
-
getLastStep
Returns the lastStep.- Returns:
- the last
Step
-
getLastStep
Returns the lastStep.- Parameters:
ctx-- Returns:
- the last
Step
-
getAllPreviousSteps
Returns aCollectionof all predecessorStepsof the specifiedStep.- Parameters:
step- theStepwhose predecessorStepsshould be returned- Returns:
- a
Collectionof all predecessorStepsof the specifiedStep
-
getAllPreviousSteps
Returns aCollectionof all predecessorStepsof the specifiedStep.- Parameters:
ctx- 123step- theStepwhose predecessorStepsshould be returned- Returns:
- a
Collectionof all predecessorStepsof the specifiedStep
-
getNextSequenceNumber
Returns the next sequence number.- Returns:
- the next sequence number
-
getNextSequenceNumber
Returns the next sequence number.- Parameters:
ctx- 123- Returns:
- the next sequence number
-
addStep
-
addStep
Adds aStepof the specified type to theBatchJoband returns it.- Parameters:
stepType- theComposedTypeof theStep, which will be added- Returns:
- the new
Stepwhich have been added to theBatchJob
-
addStep
Adds aStepof the specified type to theBatchJoband returns it.- Parameters:
stepType- theComposedTypeof theStep, which will be addedadditionalAttributes- additionalAttributes, which will be used to the create the specifiedSteptype- Returns:
- the new
Stepwhich have been added to theBatchJob
-
undoCronJob
Starts the undo-process of theBatchJobfor the specifiedCronJob.- Overrides:
undoCronJobin classJob- Parameters:
cronJob- theCronJob, which is used for the undo-process- Returns:
- CronJob.CronJobResult the result of the undo-process
-
performCronJob
Performs theBatchJobusing the specifiedCronJob. TheBatchJobwill execute all pendingStepsin the given order. If oneStepcannot be performed, the execution of theBatchJobis paused.- Specified by:
performCronJobin classJob- Parameters:
cronJob- theCronJob, which should used for execution- Returns:
- CronJob.CronJobResult the result of the execution
- See Also:
-
canUndo
Returnstrue, if theBatchJobcan be undone using the specifiedCronJob.
-