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 JobEntity
createBatchJob(BatchEntity batch, ByteArrayEntity configuration)
protected abstract T
createJobConfiguration(T configuration, java.util.List<java.lang.String> processIdsForJob)
protected void
createJobEntities(BatchEntity batch, T configuration, java.lang.String deploymentId, java.util.List<java.lang.String> processIds, int invocationsPerBatchJob)
boolean
createJobs(BatchEntity batch)
Creates batch jobs for a batch.void
deleteJobs(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()
BatchJobConfiguration
newConfiguration(java.lang.String canonicalString)
void
onDelete(BatchJobConfiguration configuration, JobEntity jobEntity)
Clean up before job is deleted.protected void
postProcessJob(T configuration, JobEntity job, T jobConfiguration)
T
readConfiguration(byte[] serializedConfiguration)
Read the serialized configuration of the batch.protected void
sanitizeMappings(DeploymentMappings idMappings, java.util.List<java.lang.String> ids)
protected ByteArrayEntity
saveConfiguration(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:BatchJobHandler
Get the job declaration for batch jobs.- Specified by:
getJobDeclaration
in interfaceBatchJobHandler<T extends BatchConfiguration>
- Returns:
- the batch job declaration
-
createJobs
public boolean createJobs(BatchEntity batch)
Description copied from interface:BatchJobHandler
Creates batch jobs for a batch.- Specified by:
createJobs
in 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:BatchJobHandler
Delete all jobs for a batch.- Specified by:
deleteJobs
in interfaceBatchJobHandler<T extends BatchConfiguration>
- Parameters:
batch
- the batch to delete jobs for
-
newConfiguration
public BatchJobConfiguration newConfiguration(java.lang.String canonicalString)
- Specified by:
newConfiguration
in interfaceJobHandler<T extends BatchConfiguration>
-
onDelete
public void onDelete(BatchJobConfiguration configuration, JobEntity jobEntity)
Description copied from interface:JobHandler
Clean up before job is deleted. Like removing of auxiliary entities specific for this job handler.- Specified by:
onDelete
in 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:BatchJobHandler
Converts the configuration of the batch to a byte array.- Specified by:
writeConfiguration
in interfaceBatchJobHandler<T extends BatchConfiguration>
- Parameters:
configuration
- the configuration object- Returns:
- the serialized configuration
-
readConfiguration
public T readConfiguration(byte[] serializedConfiguration)
Description copied from interface:BatchJobHandler
Read the serialized configuration of the batch.- Specified by:
readConfiguration
in interfaceBatchJobHandler<T extends BatchConfiguration>
- Parameters:
serializedConfiguration
- the serialized configuration- Returns:
- the deserialized configuration object
-
getJsonConverterInstance
protected abstract JsonObjectConverter<T> getJsonConverterInstance()
-
-