public class ImpExImportJob extends GeneratedImpExImportJob
jobMedia attribute of assigned cronjob using the ImpEx Importer.
For dumping of unresolved lines, the CronJobDumpHandler is used, so the dump file will be hold transient
while each pass and at the end of a pass stored to the unresolvedMedia flag of the cronjob. Additionally
it will be performed a savepoint logic periodically which also stores the transient dump file and saves information
about current state.| Modifier and Type | Class and Description |
|---|---|
protected static class |
ImpExImportJob.MyImpExImportReader |
static class |
ImpExImportJob.MyImportProcessor
Cronjob specific
ImportProcessor which extends the DefaultImportProcessor by adding the cronjob
code to each saved values message. |
protected static class |
ImpExImportJob.MyMultiThreadedImpExImportReader |
static class |
ImpExImportJob.MyMultiThreadedImportProcessor
Cronjob specific
ImportProcessor which extends the DefaultImportProcessor by adding the cronjob
code to each saved values message. |
Job.JobFileLogContainer, Job.SynchronicityGenericItem.GenericItemImplLocalizableItem.LocalizableItemImplExtensibleItem.ExtensibleItemImplItem.AttributeFilter, Item.AttributeMode, Item.CachedGetter, Item.CachedSetter, Item.ItemAttributeMap, Item.ItemConstraint, Item.ItemImpl, Item.JaloCachedComputationExceptionDEFAULT_INITIAL_ATTRIBUTES, MAXTHREADSCTX_CURRENTCRONJOB, CTX_CURRENTJOBACTIVE, ALTERNATIVEDATASOURCEID, CHANGERECORDINGENABLED, CODE, CRONJOBS, CRONJOBSHANDLER, EMAILADDRESS, EMAILNOTIFICATIONTEMPLATE, ERRORMODE, LOGLEVELDATABASE, LOGLEVELFILE, LOGTODATABASE, LOGTOFILE, NODEGROUP, NODEID, PRIORITY, REMOVEONEXIT, REQUESTABORT, REQUESTABORTSTEP, RESTRICTIONS, RESTRICTIONSHANDLER, RETRY, SENDEMAIL, SESSIONCONTEXTVALUES, SESSIONCURRENCY, SESSIONLANGUAGE, SESSIONUSER, SINGLEEXECUTABLE, TRIGGERS, TRIGGERSHANDLERLANGUAGE_FALLBACK_ENABLED_CREATION_TIME_INTERNAL, _MODIFIED_TIME_INTERNAL, accessorLog, CREATION_TIME, DISABLE_ATTRIBUTE_CHECK, DISABLE_ITEMCHECK_BEFORE_REMOVABLE, EVEN, FEATURE_ACCESSMAP_QUALIFIER, INITIAL_CREATION_FLAG, isJaloOnly, MODIFIED_TIME, NEGATIVE, NOT_FOUND, OWNER, PK, POSITIVE, SAVE_FROM_SERVICE_LAYER, staticTransientObjects, TYPEimpl, tenant| Constructor and Description |
|---|
ImpExImportJob() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
abort(CronJob cronJob)
Aborts the job by throwing an exception.
|
protected CSVReader |
adjustCSVReader(CSVReader reader,
ImpExImportCronJob cronJob)
Adjusts the CSV reader to the cronjob specific requirements.
|
protected Importer |
adjustImporter(Importer importer,
ImpExImportCronJob cronJob)
Adjusts the importer to the cronjob specific requirements.
|
protected ImportProcessor |
adjustImportProcessor(ImportProcessor processor,
ImpExImportCronJob cronJob)
Adjusts the processor to the cronjob specific requirements.
|
protected ImpExImportReader |
adjustImportReader(ImpExImportReader reader,
ImpExImportCronJob cronJob)
Adjusts the import reader to the cronjob specific requirements.
|
protected boolean |
canUndo(CronJob cronJob)
Returns
true, if the specified CronJob can be undone. |
protected void |
cleanup(ImpExImportCronJob importCronJob)
Tries to remove all used medias which are marked as to remove.
|
protected CSVReader |
createCSVReader(ImpExImportCronJob cronJob)
Creates the csv reader which gives the
ImpExImportReader access to the source data. |
protected Importer |
createImporter(ImpExImportCronJob cronJob,
ImpExImportReader reader)
Creates the importer instance.
|
protected ImportProcessor |
createImportProcessor(ImpExImportCronJob cronJob)
Creates the job specific
ImportProcessor. |
protected ImpExImportReader |
createImportReader(ImpExImportCronJob cronJob,
CSVReader csvReader,
ImportProcessor processor)
Creates the import reader instance used by the
Importer. |
protected boolean |
doImport(ImpExImportCronJob cronJob,
Importer importer)
Performs the import using given
Importer instance. |
static int |
getDefaultMaxThreads(Tenant tenant) |
Integer |
getMaxThreads(SessionContext ctx)
Generated method - Getter of the
ImpExImportJob.maxThreads attribute. |
protected int |
getMaxThreads4Run(ImpExImportCronJob cronjob) |
protected long |
getStatsInverval() |
boolean |
isAbortable(CronJob cronJob)
Tells whether this currently executed job is abortable.
|
boolean |
isPerformable(CronJob cronJob)
Tests whether the given CronJob instance can be performed.
|
CronJob.CronJobResult |
performCronJob(CronJob cronJob)
You have to implement this method in your
Job. |
protected boolean |
performJob(ImpExImportCronJob cronJob)
Instantiates and configures a
Importer instance and performs the import using it. |
protected Locale |
prepareLocale(ImpExImportCronJob cronJob)
Gets the locale setting from the given cronjob and converts it to a real
Locale object. |
protected ImpExMedia |
prepareMedia(ImpExImportCronJob cronJob)
Gets the media used as source data.
|
protected void |
saveStats(ImpExImportCronJob cronJob,
Importer importer)
Saves important statistics for error resolving.
|
void |
setMaxThreads(SessionContext ctx,
Integer integer)
Generated method - Setter of the
ImpExImportJob.maxThreads attribute. |
getDefaultAttributeModes, getMaxThreads, getMaxThreadsAsPrimitive, getMaxThreadsAsPrimitive, setMaxThreads, setMaxThreads, setMaxThreadscanPerform, checkRemovable, configureCronjob, createItem, createLogContext, debug, error, fatal, getConfigAttributes, getCronJobsByCode, getCronJobsByCode, getCurrentLogContainer, getEffectiveLogLevel, getNonInitialAttributes, info, isDebugEnabled, isEnabledFor, isErrorEnabled, isInfoEnabled, isPerformable, isUndoable, isWarnEnabled, jobIsCurrentlyRunning, log, logToFile, perform, perform, perform, prepareAfterFinishEvent, prepareBeforeStartEvent, remove, saveToLogFile, sendFinishedEvent, sendStartEvent, setCode, setCronJobs, setCurrentLogContainer, setNonInitialAttributes, startOwnSession, stopOwnSession, switchDataSource, undo, undo, undoCronJob, unsetAlternativeDataSource, unsetCurrentLogContainer, warnaddToRestrictions, 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, 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, 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, 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, setTriggersgetInitialPropertiesgetAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllValuesSessionContext, getLocalizedProperty, getLocalizedProperty, getLocalizedPropertyInternal, getLocalizedPropertyNames, getLocalizedPropertyNames, hasLanguage, isEmptyValue, isFallbackEnabled, removeLocalizedProperty, removeLocalizedProperty, setAllLocalizedProperties, setAllLocalizedProperties, setLocalizedProperty, setLocalizedPropertycreateNonClassAccessor, getAllProperties, getAllProperties, getProperty, getProperty, getPropertyNames, getPropertyNames, removeProperty, removeProperty, setAllProperties, setAllProperties, setProperty, setPropertyaddLinkedItems, 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, 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, isRelationLocalizationFallbackEnabled, newInstance, notifyExtensionsAfterItemCreation, notifyExtensionsBeforeItemCreation, notifyItemRemoval, readResolve, refreshRemote, 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, toString, useTA, writeReplacegetImplementation, setTenantprotected boolean canUndo(CronJob cronJob)
Jobtrue, if the specified CronJob can be undone. Overwrite this method of you want
to undo your CronJob. Default value is falsepublic boolean isAbortable(CronJob cronJob)
JobisAbortable in class JobcronJob - the current execution of this job.true if the cronjob is running and the job supports aborting via
GeneratedCronJob.setRequestAbort(boolean)public boolean isPerformable(CronJob cronJob)
JobcanPerform( final CronJob cronJob ) and canPerformInternal( final CronJob cronJob ) are called. Only
if both methods returning true, this method also return true Returns true,
if this Job can be performed using the specified Cronjob. Otherwise false
is returned.isPerformable in class JobcronJob - which should be performedtrue, if this Job can be performed using the specified Cronjob.
Otherwise false is returnedpublic CronJob.CronJobResult performCronJob(CronJob cronJob) throws AbortCronJobException
JobJob. Here you can execute the job. You have to return a
CronJobResult that indicates whether the Job was successfully executed or not.performCronJob in class JobcronJob - the CronJob to executeCronJobResult that indicates whether the Job was successfully executed or not.
AbortCronJobExceptionCronJob.getFinishedResult(boolean),
CronJob.getAbortResult()protected void cleanup(ImpExImportCronJob importCronJob)
importCronJob - cronjob instance for accessing the mediasprotected boolean performJob(ImpExImportCronJob cronJob) throws AbortCronJobException
Importer instance and performs the import using it. For instantiating the
Importer, first a CSVReader holding the source data will be created and configured, second a
ImportProcessor will be created and configured and third an ImpExImportReader will be instantiated
and configured.cronJob - cronjob instance performing this jobAbortCronJobException - import job was abortedprotected long getStatsInverval()
protected boolean doImport(ImpExImportCronJob cronJob, Importer importer) throws AbortCronJobException
Importer instance. If a abort is requested, the import will be aborted.cronJob - cronjob instance performing this jobimporter - configured importer instance to use for importAbortCronJobException - import job was abortedprotected CSVReader createCSVReader(ImpExImportCronJob cronJob)
ImpExImportReader access to the source data. As source data the
media of the jobMedia attribute of the cronjob is used. Furthermore the encoding
attribute is used for defining the encoding of the stream to that media.cronJob - current cronjob instance to get encoding and source dataprotected ImportProcessor createImportProcessor(ImpExImportCronJob cronJob)
ImportProcessor. This processor adds the cronjob code to the saved values
message.cronJob - cronjob instance to get further parametersprotected ImpExImportReader createImportReader(ImpExImportCronJob cronJob, CSVReader csvReader, ImportProcessor processor)
Importer. Here a cronjob specific reader is used which uses
the encoding specified at cronjob for external data medias and an specific ImportProcessor. Furthermore a
specific ImportProcessor can be specified.cronJob - current cronjob instance to get parameters like encodingcsvReader - reader holding the source data used for instantiating the import readerprocessor - processor which will be set when instantiating the import readerImporterprotected Importer createImporter(ImpExImportCronJob cronJob, ImpExImportReader reader)
cronJob - current cronjob instance to get parameters for instantiationreader - import reader used for instantiating the importerprotected CSVReader adjustCSVReader(CSVReader reader, ImpExImportCronJob cronJob)
reader - reader instance to configurecronJob - cronjob instance to get further parametersprotected ImportProcessor adjustImportProcessor(ImportProcessor processor, ImpExImportCronJob cronJob)
processor - processor instance to configurecronJob - cronjob instance to get further parametersprotected ImpExImportReader adjustImportReader(ImpExImportReader reader, ImpExImportCronJob cronJob)
reader - instance to configurecronJob - cronjob instance to get further parametersprotected Importer adjustImporter(Importer importer, ImpExImportCronJob cronJob)
importer - instance to configurecronJob - cronjob instance to get further parametersprotected Locale prepareLocale(ImpExImportCronJob cronJob)
Locale object.cronJob - cronjob holding the locale stringLocale instanceprotected ImpExMedia prepareMedia(ImpExImportCronJob cronJob) throws ImpExException
GeneratedImpExImportCronJob.getWorkMedia()) and copies all data from actual impex media.cronJob - the cronjob holding all settingsImpExException - error while accessing data of mediasprotected void saveStats(ImpExImportCronJob cronJob, Importer importer)
cronJob - cronjob instance for getting further parametersimporter - importer instance which has performed the importprotected void abort(CronJob cronJob) throws AbortCronJobException
cronJob - cronjob instance for getting further parametersAbortCronJobException - exception indicating the abortprotected int getMaxThreads4Run(ImpExImportCronJob cronjob)
public void setMaxThreads(SessionContext ctx, Integer integer)
GeneratedImpExImportJobImpExImportJob.maxThreads attribute.setMaxThreads in class GeneratedImpExImportJobinteger - the maxThreadspublic Integer getMaxThreads(SessionContext ctx)
GeneratedImpExImportJobImpExImportJob.maxThreads attribute.getMaxThreads in class GeneratedImpExImportJobpublic static int getDefaultMaxThreads(Tenant tenant)
Copyright © 2017 SAP SE. All Rights Reserved.