Class AbstractBatchJobHandler<T extends BatchConfiguration>
- java.lang.Object
-
- org.camunda.bpm.engine.impl.batch.AbstractBatchJobHandler<T>
-
- All Implemented Interfaces:
BatchJobHandler<T>,JobHandler<BatchJobConfiguration>
- Direct Known Subclasses:
BatchSetRemovalTimeJobHandler,BatchSetVariablesHandler,DecisionSetRemovalTimeJobHandler,DeleteHistoricDecisionInstancesJobHandler,DeleteHistoricProcessInstancesJobHandler,DeleteProcessInstancesJobHandler,MessageCorrelationBatchJobHandler,MigrationBatchJobHandler,ModificationBatchJobHandler,ProcessSetRemovalTimeJobHandler,RestartProcessInstancesJobHandler,SetExternalTaskRetriesJobHandler,SetJobRetriesJobHandler,UpdateProcessInstancesSuspendStateJobHandler
public abstract class AbstractBatchJobHandler<T extends BatchConfiguration> extends java.lang.Object implements BatchJobHandler<T>
Common methods for batch job handlers based on list of ids, providing serialization, configuration instantiation, etc.- Author:
- Askar Akhmerov
-
-
Constructor Summary
Constructors Constructor Description AbstractBatchJobHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected JobEntitycreateBatchJob(BatchEntity batch, ByteArrayEntity configuration)protected abstract TcreateJobConfiguration(T configuration, java.util.List<java.lang.String> processIdsForJob)protected voidcreateJobEntities(BatchEntity batch, T configuration, java.lang.String deploymentId, java.util.List<java.lang.String> processIds, int invocationsPerBatchJob)booleancreateJobs(BatchEntity batch)Creates batch jobs for a batch.voiddeleteJobs(BatchEntity batch)Delete all jobs for a batch.abstract JobDeclaration<BatchJobContext,MessageEntity>getJobDeclaration()Get the job declaration for batch jobs.protected abstract JsonObjectConverter<T>getJsonConverterInstance()BatchJobConfigurationnewConfiguration(java.lang.String canonicalString)voidonDelete(BatchJobConfiguration configuration, JobEntity jobEntity)Clean up before job is deleted.protected voidpostProcessJob(T configuration, JobEntity job, T jobConfiguration)TreadConfiguration(byte[] serializedConfiguration)Read the serialized configuration of the batch.protected voidsanitizeMappings(DeploymentMappings idMappings, java.util.List<java.lang.String> ids)protected ByteArrayEntitysaveConfiguration(ByteArrayManager byteArrayManager, T jobConfiguration)byte[]writeConfiguration(T configuration)Converts the configuration of the batch to a byte array.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.camunda.bpm.engine.impl.jobexecutor.JobHandler
execute, getType
-
-
-
-
Method Detail
-
getJobDeclaration
public abstract JobDeclaration<BatchJobContext,MessageEntity> getJobDeclaration()
Description copied from interface:BatchJobHandlerGet the job declaration for batch jobs.- Specified by:
getJobDeclarationin interfaceBatchJobHandler<T extends BatchConfiguration>- Returns:
- the batch job declaration
-
createJobs
public boolean createJobs(BatchEntity batch)
Description copied from interface:BatchJobHandlerCreates batch jobs for a batch.- Specified by:
createJobsin interfaceBatchJobHandler<T extends BatchConfiguration>- Parameters:
batch- the batch to create jobs for- Returns:
- true of no more jobs have to be created for this batch, false otherwise
-
sanitizeMappings
protected void sanitizeMappings(DeploymentMappings idMappings, java.util.List<java.lang.String> ids)
-
createJobEntities
protected void createJobEntities(BatchEntity batch, T configuration, java.lang.String deploymentId, java.util.List<java.lang.String> processIds, int invocationsPerBatchJob)
-
createJobConfiguration
protected abstract T createJobConfiguration(T configuration, java.util.List<java.lang.String> processIdsForJob)
-
createBatchJob
protected JobEntity createBatchJob(BatchEntity batch, ByteArrayEntity configuration)
-
deleteJobs
public void deleteJobs(BatchEntity batch)
Description copied from interface:BatchJobHandlerDelete all jobs for a batch.- Specified by:
deleteJobsin interfaceBatchJobHandler<T extends BatchConfiguration>- Parameters:
batch- the batch to delete jobs for
-
newConfiguration
public BatchJobConfiguration newConfiguration(java.lang.String canonicalString)
- Specified by:
newConfigurationin interfaceJobHandler<T extends BatchConfiguration>
-
onDelete
public void onDelete(BatchJobConfiguration configuration, JobEntity jobEntity)
Description copied from interface:JobHandlerClean up before job is deleted. Like removing of auxiliary entities specific for this job handler.- Specified by:
onDeletein interfaceJobHandler<T extends BatchConfiguration>- Parameters:
configuration- the job handler configurationjobEntity- the job entity to be deleted
-
saveConfiguration
protected ByteArrayEntity saveConfiguration(ByteArrayManager byteArrayManager, T jobConfiguration)
-
writeConfiguration
public byte[] writeConfiguration(T configuration)
Description copied from interface:BatchJobHandlerConverts the configuration of the batch to a byte array.- Specified by:
writeConfigurationin interfaceBatchJobHandler<T extends BatchConfiguration>- Parameters:
configuration- the configuration object- Returns:
- the serialized configuration
-
readConfiguration
public T readConfiguration(byte[] serializedConfiguration)
Description copied from interface:BatchJobHandlerRead the serialized configuration of the batch.- Specified by:
readConfigurationin interfaceBatchJobHandler<T extends BatchConfiguration>- Parameters:
serializedConfiguration- the serialized configuration- Returns:
- the deserialized configuration object
-
getJsonConverterInstance
protected abstract JsonObjectConverter<T> getJsonConverterInstance()
-
-