public class MultiThreadedImportProcessor extends DefaultImportProcessor
MultiThreadedImpExImportReader. It synchronizes working threads by their existing item
query and (if applicable) by the existing item they're about to change. If multiple workers try to fire the same
existing items query they're synchronized. If multiple workers have same existing items they're synchronized too.| Constructor and Description |
|---|
MultiThreadedImportProcessor() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
adjustSessionSettings() |
protected ExistingItemResolver |
createExistingItemsResolver(HeaderDescriptor header,
boolean useCache)
Overwritten to create a synchronized existing item resolver.
|
protected SessionContext |
getCreationContext(ComposedType targetType,
java.util.Map<StandardColumnDescriptor,java.lang.Object> attributeValueMappings,
ValueLine valueLine)
Switching off TA for creation of items in parallel mode due to deadlocks.
|
protected ImpExWorker |
getWorker() |
protected boolean |
lockItems(ImpExWorker worker,
java.util.Collection<Item> matches) |
protected void |
lockQuery(ImpExWorker worker,
QueryParameters queryParameters) |
Item |
processItemData(ValueLine valueLine)
Overwritten to release any worker locks after finishing value line processing
|
void |
setMaxThreads(int max) |
assertTargetTypePermitted, createCUDHandler, debug, enableLegacyFlagWhenLineIsUsingJaloOnlyFeatures, error, getExistingItemResolver, getHandlerForLine, getLanguage, getReader, getSavedValuesMessage, getValueLineTranslator, handleExceptionDuringImport, hasUnresolvedMandatoryOrInitialColumns, info, init, isDebugEnabled, isInfoEnabled, logExceptionDuringImport, processInsertLine, processInsertLine, processInsertLineInternal, processItemCreation, processItemData_Impl, processItemData_TX, processItemRemoval, processItemUpdate, processRemoveLine, processRemoveLine, processUpdateLine, restoreSessionSettings, shouldRetryAfterException, throwImpExOrRuntimeException, translateValueMappings, warnpublic void setMaxThreads(int max)
protected ImpExWorker getWorker()
protected void adjustSessionSettings()
adjustSessionSettings in class DefaultImportProcessorprotected SessionContext getCreationContext(ComposedType targetType, java.util.Map<StandardColumnDescriptor,java.lang.Object> attributeValueMappings, ValueLine valueLine)
getCreationContext in class DefaultImportProcessorpublic Item processItemData(ValueLine valueLine) throws ImpExException
processItemData in interface ImportProcessorprocessItemData in class DefaultImportProcessorImpExExceptionprotected void lockQuery(ImpExWorker worker, QueryParameters queryParameters)
protected boolean lockItems(ImpExWorker worker, java.util.Collection<Item> matches)
protected ExistingItemResolver createExistingItemsResolver(HeaderDescriptor header, boolean useCache) throws HeaderValidationException
createExistingItemsResolver in class DefaultImportProcessorHeaderValidationExceptionCopyright © 2018 SAP SE. All Rights Reserved.