Package org.flowable.cmmn.api
Interface CmmnManagementService
-
public interface CmmnManagementService
- Author:
- Joram Barrez
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
bulkMoveDeadLetterJobs(Collection<String> jobIds, int retries)
Moves a bulk of jobs that are in the dead letter job table back to the executable job table, and resets the retries (as the retries was 0 when it was put into the dead letter job table).void
bulkMoveDeadLetterJobsToHistoryJobs(Collection<String> jobIds, int retries)
Moves a bulk of jobs that are in the dead letter job table back to be history jobs, and resets the retries (as the retries was 0 when it was put into the dead letter job table).org.flowable.batch.api.BatchBuilder
createBatchBuilder()
org.flowable.batch.api.BatchPartBuilder
createBatchPartBuilder(org.flowable.batch.api.Batch batch)
org.flowable.batch.api.BatchPartQuery
createBatchPartQuery()
Returns a new BatchPartQuery implementation, that can be used to dynamically query the batch parts.org.flowable.batch.api.BatchQuery
createBatchQuery()
Returns a new BatchQuery implementation, that can be used to dynamically query the batches.org.flowable.common.engine.api.tenant.ChangeTenantIdBuilder
createChangeTenantIdBuilder(String fromTenantId, String toTenantId)
Create aChangeTenantIdBuilder
that can be used to change the tenant id of the case instances and all the related instances.CmmnExternalWorkerTransitionBuilder
createCmmnExternalWorkerTransitionBuilder(String externalJobId, String workerId)
Create aCmmnExternalWorkerTransitionBuilder
that can be used to transition the status of the external worker job.org.flowable.job.api.DeadLetterJobQuery
createDeadLetterJobQuery()
Returns a new DeadLetterJobQuery implementation, that can be used to query the dead letter jobs.org.flowable.job.api.ExternalWorkerJobAcquireBuilder
createExternalWorkerJobAcquireBuilder()
Create anExternalWorkerJobAcquireBuilder
that can be used to acquire jobs for an external worker.org.flowable.job.api.ExternalWorkerJobFailureBuilder
createExternalWorkerJobFailureBuilder(String externalJobId, String workerId)
Create anExternalWorkerJobFailureBuilder
that can be used to fail an external worker job.org.flowable.job.api.ExternalWorkerJobQuery
createExternalWorkerJobQuery()
Returns a new ExternalWorkerJobQuery implementation, that can be used to dynamically query the external worker jobs.org.flowable.job.api.HistoryJobQuery
createHistoryJobQuery()
Returns a new HistoryJobQuery implementation, that can be used to dynamically query the history jobs.org.flowable.job.api.JobQuery
createJobQuery()
Returns a new JobQuery implementation, that can be used to query the jobs.org.flowable.job.api.SuspendedJobQuery
createSuspendedJobQuery()
Returns a new SuspendedJobQuery implementation, that can be used to query the suspended jobs.org.flowable.job.api.TimerJobQuery
createTimerJobQuery()
Returns a new TimerJobQuery implementation, that can be used to query the timer jobs.void
deleteBatch(String batchId)
void
deleteDeadLetterJob(String jobId)
Delete the dead letter job with the provided id.void
deleteHistoryJob(String jobId)
Delete the history job with the provided id.void
deleteJob(String jobId)
Delete the job with the provided id.void
deleteSuspendedJob(String jobId)
Delete the suspended job with the provided id.void
deleteTimerJob(String jobId)
Delete the timer job with the provided id.void
executeHistoryJob(String historyJobId)
Forced synchronous execution of a historyJob (eg.void
executeJob(String jobId)
Forced synchronous execution of a job (eg.String
getDeadLetterJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the deadletter job with the given id was last executed.String
getExternalWorkerJobErrorDetails(String jobId)
Returns the full error details that were passed to the External workerJob
when the job was last failed.String
getHistoryJobHistoryJson(String historyJobId)
Get the advanced configuration (storing the history json data) of aHistoryJob
.String
getJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the job with the given id was last executed.String
getSuspendedJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the suspended with the given id was last executed.Map<String,Long>
getTableCounts()
Returns a map containing {tableName, rowCount} values.Collection<String>
getTableNames()
Returns all relational database tables of the engine.String
getTimerJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the timer job with the given id was last executed.void
handleHistoryCleanupTimerJob()
org.flowable.job.api.Job
moveDeadLetterJobToExecutableJob(String jobId, int retries)
Moves a job that is in the dead letter job table back to be an executable job, and resetting the retries (as the retries were probably 0 when it was put into the dead letter job table).org.flowable.job.api.HistoryJob
moveDeadLetterJobToHistoryJob(String jobId, int retries)
Moves a job that is in the dead letter job table back to be a history job, and resetting the retries (as the retries was 0 when it was put into the dead letter job table).org.flowable.job.api.Job
moveJobToDeadLetterJob(String jobId)
Moves a job to the dead letter job table (eg.org.flowable.job.api.Job
moveSuspendedJobToExecutableJob(String jobId)
Moves a suspended job from the suspended letter job table back to be an executable job.org.flowable.job.api.Job
moveTimerToExecutableJob(String jobId)
Moves a timer job to the executable job table (eg.void
setJobRetries(String jobId, int retries)
Sets the number of retries that a job has left.void
setTimerJobRetries(String jobId, int retries)
Sets the number of retries that a timer job has left.
-
-
-
Method Detail
-
getTableCounts
Map<String,Long> getTableCounts()
Returns a map containing {tableName, rowCount} values.
-
getTableNames
Collection<String> getTableNames()
Returns all relational database tables of the engine.
-
createJobQuery
org.flowable.job.api.JobQuery createJobQuery()
Returns a new JobQuery implementation, that can be used to query the jobs.
-
createExternalWorkerJobQuery
org.flowable.job.api.ExternalWorkerJobQuery createExternalWorkerJobQuery()
Returns a new ExternalWorkerJobQuery implementation, that can be used to dynamically query the external worker jobs.
-
createTimerJobQuery
org.flowable.job.api.TimerJobQuery createTimerJobQuery()
Returns a new TimerJobQuery implementation, that can be used to query the timer jobs.
-
createSuspendedJobQuery
org.flowable.job.api.SuspendedJobQuery createSuspendedJobQuery()
Returns a new SuspendedJobQuery implementation, that can be used to query the suspended jobs.
-
createDeadLetterJobQuery
org.flowable.job.api.DeadLetterJobQuery createDeadLetterJobQuery()
Returns a new DeadLetterJobQuery implementation, that can be used to query the dead letter jobs.
-
executeJob
void executeJob(String jobId)
Forced synchronous execution of a job (eg. for administration or testing). The job will be executed, even if the case instance is suspended.- Parameters:
jobId
- id of the job to execute, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
moveTimerToExecutableJob
org.flowable.job.api.Job moveTimerToExecutableJob(String jobId)
Moves a timer job to the executable job table (eg. for administration or testing). The timer job will be moved, even if the case instance is suspended.- Parameters:
jobId
- id of the timer job to move, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
moveJobToDeadLetterJob
org.flowable.job.api.Job moveJobToDeadLetterJob(String jobId)
Moves a job to the dead letter job table (eg. for administration or testing). The job will be moved, even if the case instance is suspended or there are retries left.- Parameters:
jobId
- id of the job to move, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
bulkMoveDeadLetterJobs
void bulkMoveDeadLetterJobs(Collection<String> jobIds, int retries)
Moves a bulk of jobs that are in the dead letter job table back to the executable job table, and resets the retries (as the retries was 0 when it was put into the dead letter job table).- Parameters:
jobIds
- ids of the jobs to move, cannot be null.retries
- the number of retries (value greater than 0) which will be set on the jobs.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with any of the given ids.
-
bulkMoveDeadLetterJobsToHistoryJobs
void bulkMoveDeadLetterJobsToHistoryJobs(Collection<String> jobIds, int retries)
Moves a bulk of jobs that are in the dead letter job table back to be history jobs, and resets the retries (as the retries was 0 when it was put into the dead letter job table).- Parameters:
jobIds
- ids of the jobs to move, cannot be null.retries
- the number of retries (value greater than 0) which will be set on the jobs.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when one job with of the given ids is not found.
-
moveDeadLetterJobToExecutableJob
org.flowable.job.api.Job moveDeadLetterJobToExecutableJob(String jobId, int retries)
Moves a job that is in the dead letter job table back to be an executable job, and resetting the retries (as the retries were probably 0 when it was put into the dead letter job table).- Parameters:
jobId
- id of the job to move, cannot be null.retries
- the number of retries (value greater than 0) which will be set on the job.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
moveDeadLetterJobToHistoryJob
org.flowable.job.api.HistoryJob moveDeadLetterJobToHistoryJob(String jobId, int retries)
Moves a job that is in the dead letter job table back to be a history job, and resetting the retries (as the retries was 0 when it was put into the dead letter job table).- Parameters:
jobId
- id of the job to move, cannot be null.retries
- the number of retries (value greater than 0) which will be set on the job.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.org.flowable.common.engine.api.FlowableIllegalArgumentException
- when the job cannot be moved to be a history job (e.g. because it's not history job)
-
moveSuspendedJobToExecutableJob
org.flowable.job.api.Job moveSuspendedJobToExecutableJob(String jobId)
Moves a suspended job from the suspended letter job table back to be an executable job. The retries are untouched.- Parameters:
jobId
- id of the job to move, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
deleteJob
void deleteJob(String jobId)
Delete the job with the provided id.- Parameters:
jobId
- id of the job to delete, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
deleteTimerJob
void deleteTimerJob(String jobId)
Delete the timer job with the provided id.- Parameters:
jobId
- id of the timer job to delete, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
deleteSuspendedJob
void deleteSuspendedJob(String jobId)
Delete the suspended job with the provided id.- Parameters:
jobId
- id of the suspended job to delete, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
deleteDeadLetterJob
void deleteDeadLetterJob(String jobId)
Delete the dead letter job with the provided id.- Parameters:
jobId
- id of the dead letter job to delete, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
setJobRetries
void setJobRetries(String jobId, int retries)
Sets the number of retries that a job has left. Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be dead and not retried again. In that case, this method can be used to increase the number of retries.- Parameters:
jobId
- id of the job to modify, cannot be null.retries
- number of retries.
-
setTimerJobRetries
void setTimerJobRetries(String jobId, int retries)
Sets the number of retries that a timer job has left. Whenever the JobExecutor fails to execute a timer job, this value is decremented. When it hits zero, the job is supposed to be dead and not retried again. In that case, this method can be used to increase the number of retries.- Parameters:
jobId
- id of the timer job to modify, cannot be null.retries
- number of retries.
-
getJobExceptionStacktrace
String getJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the job with the given id was last executed. Returns null when the job has no exception stacktrace.- Parameters:
jobId
- id of the job, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no job exists with the given id.
-
getTimerJobExceptionStacktrace
String getTimerJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the timer job with the given id was last executed. Returns null when the job has no exception stacktrace.- Parameters:
jobId
- id of the job, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no job exists with the given id.
-
getSuspendedJobExceptionStacktrace
String getSuspendedJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the suspended with the given id was last executed. Returns null when the job has no exception stacktrace.- Parameters:
jobId
- id of the job, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no job exists with the given id.
-
getDeadLetterJobExceptionStacktrace
String getDeadLetterJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the deadletter job with the given id was last executed. Returns null when the job has no exception stacktrace.- Parameters:
jobId
- id of the job, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no job exists with the given id.
-
getExternalWorkerJobErrorDetails
String getExternalWorkerJobErrorDetails(String jobId)
Returns the full error details that were passed to the External workerJob
when the job was last failed. Returns null when the job has no error details.- Parameters:
jobId
- id of the job, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no job exists with the given id.
-
handleHistoryCleanupTimerJob
void handleHistoryCleanupTimerJob()
-
createBatchQuery
org.flowable.batch.api.BatchQuery createBatchQuery()
Returns a new BatchQuery implementation, that can be used to dynamically query the batches.
-
createBatchBuilder
org.flowable.batch.api.BatchBuilder createBatchBuilder()
-
createBatchPartQuery
org.flowable.batch.api.BatchPartQuery createBatchPartQuery()
Returns a new BatchPartQuery implementation, that can be used to dynamically query the batch parts.
-
createBatchPartBuilder
org.flowable.batch.api.BatchPartBuilder createBatchPartBuilder(org.flowable.batch.api.Batch batch)
-
deleteBatch
void deleteBatch(String batchId)
-
createHistoryJobQuery
org.flowable.job.api.HistoryJobQuery createHistoryJobQuery()
Returns a new HistoryJobQuery implementation, that can be used to dynamically query the history jobs.
-
executeHistoryJob
void executeHistoryJob(String historyJobId)
Forced synchronous execution of a historyJob (eg. for administration or testing).- Parameters:
historyJobId
- id of the historyjob to execute, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no historyJob with the given id.
-
getHistoryJobHistoryJson
String getHistoryJobHistoryJson(String historyJobId)
Get the advanced configuration (storing the history json data) of aHistoryJob
.- Parameters:
historyJobId
- id of the history job to execute, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no historyJob with the given id.
-
deleteHistoryJob
void deleteHistoryJob(String jobId)
Delete the history job with the provided id.- Parameters:
jobId
- id of the history job to delete, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when there is no job with the given id.
-
createExternalWorkerJobAcquireBuilder
org.flowable.job.api.ExternalWorkerJobAcquireBuilder createExternalWorkerJobAcquireBuilder()
Create anExternalWorkerJobAcquireBuilder
that can be used to acquire jobs for an external worker.
-
createExternalWorkerJobFailureBuilder
org.flowable.job.api.ExternalWorkerJobFailureBuilder createExternalWorkerJobFailureBuilder(String externalJobId, String workerId)
Create anExternalWorkerJobFailureBuilder
that can be used to fail an external worker job.- Parameters:
externalJobId
- the id of the external worker jobworkerId
- the id of the worker doing the action
-
createCmmnExternalWorkerTransitionBuilder
CmmnExternalWorkerTransitionBuilder createCmmnExternalWorkerTransitionBuilder(String externalJobId, String workerId)
Create aCmmnExternalWorkerTransitionBuilder
that can be used to transition the status of the external worker job.
-
createChangeTenantIdBuilder
org.flowable.common.engine.api.tenant.ChangeTenantIdBuilder createChangeTenantIdBuilder(String fromTenantId, String toTenantId)
Create aChangeTenantIdBuilder
that can be used to change the tenant id of the case instances and all the related instances. SeeCmmnChangeTenantIdEntityTypes
for related instances.You must provide the source tenant id and the destination tenant id. All instances from the source tenant id in the CMMN scope will be changed to the target tenant id.
-
-