Class ManagementServiceImpl
- java.lang.Object
-
- org.camunda.bpm.engine.impl.ServiceImpl
-
- org.camunda.bpm.engine.impl.ManagementServiceImpl
-
- All Implemented Interfaces:
ManagementService
public class ManagementServiceImpl extends ServiceImpl implements ManagementService
- Author:
- Tom Baeyens, Joram Barrez, Falko Menge, Saeid Mizaei, Askar AKhmerov
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
ManagementServiceImpl.DbSchemaUpgradeCmd
protected class
ManagementServiceImpl.GetRegisteredDeploymentsCmd
-
Field Summary
-
Fields inherited from class org.camunda.bpm.engine.impl.ServiceImpl
commandExecutor
-
-
Constructor Summary
Constructors Constructor Description ManagementServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activateBatchById(java.lang.String batchId)
Activates theBatch
with the given id immediately.void
activateJobById(java.lang.String jobId)
Activates theJob
with the given id.void
activateJobByJobDefinitionId(java.lang.String jobDefinitionId)
Activates allJob
s of the provided job definition id.void
activateJobByProcessDefinitionId(java.lang.String processDefinitionId)
Activates allJob
s of the provided process definition id.void
activateJobByProcessDefinitionKey(java.lang.String processDefinitionKey)
ActivatesJob
s of the provided process definition key.void
activateJobByProcessInstanceId(java.lang.String processInstanceId)
Activates allJob
s of the provided process instance id.void
activateJobDefinitionById(java.lang.String jobDefinitionId)
Activates theJobDefinition
with the given id immediately.void
activateJobDefinitionById(java.lang.String jobDefinitionId, boolean activateJobs)
Activates theJobDefinition
with the given id immediately.void
activateJobDefinitionById(java.lang.String jobDefinitionId, boolean activateJobs, java.util.Date activationDate)
Activates theJobDefinition
with the given id.void
activateJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId)
Activates allJobDefinition
s of the provided process definition id immediately.void
activateJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId, boolean activateJobs)
Activates allJobDefinition
s of the provided process definition id immediately.void
activateJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId, boolean activateJobs, java.util.Date activationDate)
Activates allJobDefinition
s of the provided process definition id.void
activateJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey)
Activates allJobDefinition
s of the provided process definition key immediately.void
activateJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey, boolean activateJobs)
Activates allJobDefinition
s of the provided process definition key immediately.void
activateJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey, boolean activateJobs, java.util.Date activationDate)
Activates allJobDefinition
s of the provided process definition key.void
clearOverridingJobPriorityForJobDefinition(java.lang.String jobDefinitionId)
Clears the job definition's overriding job priority if set.ActivityStatisticsQuery
createActivityStatisticsQuery(java.lang.String processDefinitionId)
Query for the number of activity instances aggregated by activities of a single process definition.BatchQuery
createBatchQuery()
Creates a query to search forBatch
instances.BatchStatisticsQuery
createBatchStatisticsQuery()
Query for the statistics of the batch execution jobs of a batch.DeploymentStatisticsQuery
createDeploymentStatisticsQuery()
Query for the number of process instances aggregated by deployments.JobDefinitionQuery
createJobDefinitionQuery()
Returns a newJobDefinitionQuery
implementation, that can be used to dynamically query the job definitions.JobQuery
createJobQuery()
Returns a new JobQuery implementation, that can be used to dynamically query the jobs.MetricsQuery
createMetricsQuery()
ProcessDefinitionStatisticsQuery
createProcessDefinitionStatisticsQuery()
Query for the number of process instances aggregated by process definitions.SchemaLogQuery
createSchemaLogQuery()
Query for entries of the database schema log.TablePageQuery
createTablePageQuery()
Creates aTablePageQuery
that can be used to fetchTablePage
containing specific sections of table row data.java.lang.String
databaseSchemaUpgrade(java.sql.Connection connection, java.lang.String catalog, java.lang.String schema)
programmatic schema update on a given connection returning feedback about what happened Note: will always return an empty stringvoid
deleteBatch(java.lang.String batchId, boolean cascade)
Deletes a batch instance and the corresponding job definitions.void
deleteJob(java.lang.String jobId)
Delete the job with the provided id.void
deleteLicenseKey()
Deletes the stored license key.void
deleteMetrics(java.util.Date timestamp)
Deletes all metrics events which are older than the specified timestamp.void
deleteMetrics(java.util.Date timestamp, java.lang.String reporter)
Deletes all metrics events which are older than the specified timestamp and reported by the given reporter.void
deleteProperty(java.lang.String name)
Deletes a property by name.void
deleteTaskMetrics(java.util.Date timestamp)
Deletes all task metrics which are older than the specified timestamp.void
executeJob(java.lang.String jobId)
Forced synchronous execution of a job (eg.int
getHistoryLevel()
Get the configured history level for the process engine.java.lang.String
getJobExceptionStacktrace(java.lang.String jobId)
Returns the full stacktrace of the exception that occurs when the job with the given id was last executed.java.lang.String
getLicenseKey()
Get the stored license key string ornull
if no license is set.java.lang.String
getProcessApplicationForDeployment(java.lang.String deploymentId)
java.util.Map<java.lang.String,java.lang.String>
getProperties()
java.util.Set<java.lang.String>
getRegisteredDeployments()
Get the deployments that are registered the engine's job executor.java.util.Map<java.lang.String,java.lang.Long>
getTableCount()
Get the mapping containing {table name, row count} entries of the database schema.TableMetaData
getTableMetaData(java.lang.String tableName)
Gets the metadata (column names, column types, etc.) of a certain table.java.lang.String
getTableName(java.lang.Class<?> activitiEntityClass)
long
getUniqueTaskWorkerCount(java.util.Date startTime, java.util.Date endTime)
Calculates the number of unique task workers based on user task assignees.java.lang.Boolean
isTelemetryEnabled()
Checks how sending telemetry data to Camunda is configuredPurgeReport
purge()
Purges the database and the deployment cache.void
recalculateJobDuedate(java.lang.String jobId, boolean creationDateBased)
Triggers the recalculation for the job with the provided id.void
registerDeploymentForJobExecutor(java.lang.String deploymentId)
Register a deployment for the engine's job executor.ProcessApplicationRegistration
registerProcessApplication(java.lang.String deploymentId, ProcessApplicationReference reference)
Activate a deployment for a given ProcessApplication.void
reportDbMetricsNow()
Forces this engine to commit its pending collected metrics to the database.void
setJobDuedate(java.lang.String jobId, java.util.Date newDuedate)
Sets a new due date for the provided id.void
setJobDuedate(java.lang.String jobId, java.util.Date newDuedate, boolean cascade)
Sets a new due date for the provided id.void
setJobPriority(java.lang.String jobId, long priority)
Sets a new priority for the job with the provided id.void
setJobRetries(java.lang.String jobId, int retries)
Sets the number of retries that a job has left.void
setJobRetries(java.util.List<java.lang.String> jobIds, int retries)
Sets the number of retries that jobs have left.Batch
setJobRetriesAsync(java.util.List<java.lang.String> jobIds, int retries)
Sets the number of retries that jobs have left asynchronously.Batch
setJobRetriesAsync(java.util.List<java.lang.String> jobIds, JobQuery jobQuery, int retries)
Sets the number of retries that jobs have left asynchronously.Batch
setJobRetriesAsync(java.util.List<java.lang.String> processInstanceIds, ProcessInstanceQuery query, int retries)
Sets the number of retries that jobs have left asynchronously.Batch
setJobRetriesAsync(java.util.List<java.lang.String> processInstanceIds, ProcessInstanceQuery query, HistoricProcessInstanceQuery historicProcessInstanceQuery, int retries)
Sets the number of retries that jobs have left asynchronously.Batch
setJobRetriesAsync(JobQuery jobQuery, int retries)
Sets the number of retries that jobs have left asynchronously.void
setJobRetriesByJobDefinitionId(java.lang.String jobDefinitionId, int retries)
Set the number of retries of all failedjobs
of the provided job definition id.void
setLicenseKey(java.lang.String licenseKey)
Set the license key.void
setOverridingJobPriorityForJobDefinition(java.lang.String jobDefinitionId, long priority)
Sets an explicit priority for jobs of the given job definition.void
setOverridingJobPriorityForJobDefinition(java.lang.String jobDefinitionId, long priority, boolean cascade)
Sets an explicit default priority for jobs of the given job definition.void
setProperty(java.lang.String name, java.lang.String value)
Set the value for a property.void
suspendBatchById(java.lang.String batchId)
Suspends theBatch
with the given id immediately.void
suspendJobById(java.lang.String jobId)
Suspends theJob
with the given id.void
suspendJobByJobDefinitionId(java.lang.String jobDefinitionId)
Suspends allJob
s of the provided job definition id.void
suspendJobByProcessDefinitionId(java.lang.String processDefinitionId)
Suspends allJob
s of the provided process definition id.void
suspendJobByProcessDefinitionKey(java.lang.String processDefinitionKey)
SuspendsJob
s of the provided process definition key.void
suspendJobByProcessInstanceId(java.lang.String processInstanceId)
Suspends allJob
s of the provided process instance id.void
suspendJobDefinitionById(java.lang.String jobDefinitionId)
Suspends theJobDefinition
with the given id immediately.void
suspendJobDefinitionById(java.lang.String jobDefinitionId, boolean suspendJobs)
Suspends theJobDefinition
with the given id immediately.void
suspendJobDefinitionById(java.lang.String jobDefinitionId, boolean suspendJobs, java.util.Date suspensionDate)
Suspends theJobDefinition
with the given id.void
suspendJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId)
Suspends allJobDefinition
of the provided process definition id immediately.void
suspendJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId, boolean suspendJobs)
Suspends allJobDefinition
s of the provided process definition id immediately.void
suspendJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId, boolean suspendJobs, java.util.Date suspensionDate)
Suspends allJobDefinition
s of the provided process definition id.void
suspendJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey)
Suspends allJobDefinition
of the provided process definition key immediately.void
suspendJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey, boolean suspendJobs)
Suspends allJobDefinition
s of the provided process definition key immediately.void
suspendJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey, boolean suspendJobs, java.util.Date suspensionDate)
Suspends allJobDefinition
s of the provided process definition key.void
toggleTelemetry(boolean enabled)
Enable/disable sending telemetry data to Camundavoid
unregisterDeploymentForJobExecutor(java.lang.String deploymentId)
Unregister a deployment for the engine's job executor.void
unregisterProcessApplication(java.lang.String deploymentId, boolean removeProcessesFromCache)
Deactivate a deployment for a given ProcessApplication.void
unregisterProcessApplication(java.util.Set<java.lang.String> deploymentIds, boolean removeProcessesFromCache)
Deactivate a deployment for a given ProcessApplication.UpdateJobDefinitionSuspensionStateSelectBuilder
updateJobDefinitionSuspensionState()
Activate or suspend job definitions using a fluent builder.UpdateJobSuspensionStateSelectBuilder
updateJobSuspensionState()
Activate or suspend jobs using a fluent builder.-
Methods inherited from class org.camunda.bpm.engine.impl.ServiceImpl
getCommandExecutor, setCommandExecutor
-
-
-
-
Method Detail
-
registerProcessApplication
public ProcessApplicationRegistration registerProcessApplication(java.lang.String deploymentId, ProcessApplicationReference reference)
Description copied from interface:ManagementService
Activate a deployment for a given ProcessApplication. The effect of this method is twofold:- The process engine will execute atomic operations within the context of that ProcessApplication
- The job executor will start acquiring jobs from that deployment
- Specified by:
registerProcessApplication
in interfaceManagementService
- Parameters:
deploymentId
- the Id of the deployment to activatereference
- the reference to the process application- Returns:
- a new
ProcessApplicationRegistration
-
unregisterProcessApplication
public void unregisterProcessApplication(java.lang.String deploymentId, boolean removeProcessesFromCache)
Description copied from interface:ManagementService
Deactivate a deployment for a given ProcessApplication. This removes the association between the process engine and the process application and optionally removes the associated process definitions from the cache.- Specified by:
unregisterProcessApplication
in interfaceManagementService
- Parameters:
deploymentId
- the Id of the deployment to deactivateremoveProcessesFromCache
- indicates whether the process definitions should be removed from the deployment cache
-
unregisterProcessApplication
public void unregisterProcessApplication(java.util.Set<java.lang.String> deploymentIds, boolean removeProcessesFromCache)
Description copied from interface:ManagementService
Deactivate a deployment for a given ProcessApplication. This removes the association between the process engine and the process application and optionally removes the associated process definitions from the cache.- Specified by:
unregisterProcessApplication
in interfaceManagementService
- Parameters:
deploymentIds
- the Ids of the deployments to deactivateremoveProcessesFromCache
- indicates whether the process definitions should be removed from the deployment cache
-
getProcessApplicationForDeployment
public java.lang.String getProcessApplicationForDeployment(java.lang.String deploymentId)
- Specified by:
getProcessApplicationForDeployment
in interfaceManagementService
- Returns:
- the name of the process application that is currently registered for the given deployment or 'null' if no process application is currently registered.
-
getTableCount
public java.util.Map<java.lang.String,java.lang.Long> getTableCount()
Description copied from interface:ManagementService
Get the mapping containing {table name, row count} entries of the database schema.- Specified by:
getTableCount
in interfaceManagementService
-
getTableName
public java.lang.String getTableName(java.lang.Class<?> activitiEntityClass)
Description copied from interface:ManagementService
Gets the table name (including any configured prefix) for an entity likeTask
,Execution
or the like.- Specified by:
getTableName
in interfaceManagementService
-
getTableMetaData
public TableMetaData getTableMetaData(java.lang.String tableName)
Description copied from interface:ManagementService
Gets the metadata (column names, column types, etc.) of a certain table. Returns null when no table exists with the given name.- Specified by:
getTableMetaData
in interfaceManagementService
-
executeJob
public void executeJob(java.lang.String jobId)
Description copied from interface:ManagementService
Forced synchronous execution of a job (eg. for administration or testing) The job will be executed, even if the process definition and/or the process instance is in suspended state.- Specified by:
executeJob
in interfaceManagementService
- Parameters:
jobId
- id of the job to execute, cannot be null.
-
deleteJob
public void deleteJob(java.lang.String jobId)
Description copied from interface:ManagementService
Delete the job with the provided id.- Specified by:
deleteJob
in interfaceManagementService
- Parameters:
jobId
- id of the job to execute, cannot be null.
-
setJobRetries
public void setJobRetries(java.lang.String jobId, int retries)
Description copied from interface:ManagementService
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.- Specified by:
setJobRetries
in interfaceManagementService
- Parameters:
jobId
- id of the job to modify, cannot be null.retries
- number of retries.
-
setJobRetries
public void setJobRetries(java.util.List<java.lang.String> jobIds, int retries)
Description copied from interface:ManagementService
Sets the number of retries that jobs have 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.- Specified by:
setJobRetries
in interfaceManagementService
- Parameters:
jobIds
- ids of the jobs to modify, cannot be null.retries
- number of retries.
-
setJobRetriesAsync
public Batch setJobRetriesAsync(java.util.List<java.lang.String> jobIds, int retries)
Description copied from interface:ManagementService
Sets the number of retries that jobs have left asynchronously. 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.- Specified by:
setJobRetriesAsync
in interfaceManagementService
- Parameters:
jobIds
- ids of the jobs to modify, cannot be null.retries
- number of retries.
-
setJobRetriesAsync
public Batch setJobRetriesAsync(JobQuery jobQuery, int retries)
Description copied from interface:ManagementService
Sets the number of retries that jobs have left asynchronously. 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.- Specified by:
setJobRetriesAsync
in interfaceManagementService
- Parameters:
jobQuery
- query that identifies which jobs should be modified, cannot be null.retries
- number of retries.
-
setJobRetriesAsync
public Batch setJobRetriesAsync(java.util.List<java.lang.String> jobIds, JobQuery jobQuery, int retries)
Description copied from interface:ManagementService
Sets the number of retries that jobs have left asynchronously. 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. Either jobIds or jobQuery has to be provided. If both are provided resulting list of affected jobs will contain jobs matching query as well as jobs defined in the list.- Specified by:
setJobRetriesAsync
in interfaceManagementService
- Parameters:
jobIds
- ids of the jobs to modify.jobQuery
- query that identifies which jobs should be modified.retries
- number of retries.
-
setJobRetriesAsync
public Batch setJobRetriesAsync(java.util.List<java.lang.String> processInstanceIds, ProcessInstanceQuery query, int retries)
Description copied from interface:ManagementService
Sets the number of retries that jobs have left asynchronously. 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. Either jobIds or jobQuery has to be provided. If both are provided resulting list of affected jobs will contain jobs matching query as well as jobs defined in the list.- Specified by:
setJobRetriesAsync
in interfaceManagementService
- Parameters:
processInstanceIds
- ids of the process instances that for which jobs retries will be setquery
- query that identifies process instances with jobs that have to be modifiedretries
- number of retries.
-
setJobRetriesAsync
public Batch setJobRetriesAsync(java.util.List<java.lang.String> processInstanceIds, ProcessInstanceQuery query, HistoricProcessInstanceQuery historicProcessInstanceQuery, int retries)
Description copied from interface:ManagementService
Sets the number of retries that jobs have left asynchronously. 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. processInstanceIds, processInstanceQuery or historicProcessInstanceQuery has to be provided. If all are provided, resulting list of affected jobs will contain jobs related to the query as well as jobs related to instances in the list.- Specified by:
setJobRetriesAsync
in interfaceManagementService
- Parameters:
processInstanceIds
- ids of the process instances that for which jobs retries will be setquery
- query that identifies process instances with jobs that have to be modifiedhistoricProcessInstanceQuery
- historic query that identifies runtime process instances with jobs that have to be modifiedretries
- number of retries.
-
setJobRetriesByJobDefinitionId
public void setJobRetriesByJobDefinitionId(java.lang.String jobDefinitionId, int retries)
Description copied from interface:ManagementService
Set the number of retries of all failed
jobs
of the provided job definition id.Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be failed and not retried again. In that case, this method can be used to increase the number of retries.
Incidents
of the involved failedjobs
will not be resolved using this method! When the execution of a job was successful the corresponding incident will be resolved.- Specified by:
setJobRetriesByJobDefinitionId
in interfaceManagementService
- Parameters:
jobDefinitionId
- id of the job definition, cannot be null.retries
- number of retries.
-
setJobDuedate
public void setJobDuedate(java.lang.String jobId, java.util.Date newDuedate)
Description copied from interface:ManagementService
Sets a new due date for the provided id. When newDuedate is null, the job is executed with the next job executor run.- Specified by:
setJobDuedate
in interfaceManagementService
- Parameters:
jobId
- id of job to modify, cannot be null.newDuedate
- new date for job execution
-
setJobDuedate
public void setJobDuedate(java.lang.String jobId, java.util.Date newDuedate, boolean cascade)
Description copied from interface:ManagementService
Sets a new due date for the provided id. The offset between the old and the new due date can be cascaded to all follow-up jobs. Cascading only works with timer jobs. When newDuedate is null, the job is executed with the next job executor run. In this case the cascade parameter is ignored.- Specified by:
setJobDuedate
in interfaceManagementService
- Parameters:
jobId
- id of job to modify, cannot be null.newDuedate
- new date for job executioncascade
- indicate whether follow-up jobs should be affected
-
recalculateJobDuedate
public void recalculateJobDuedate(java.lang.String jobId, boolean creationDateBased)
Description copied from interface:ManagementService
Triggers the recalculation for the job with the provided id.- Specified by:
recalculateJobDuedate
in interfaceManagementService
- Parameters:
jobId
- id of job to recalculate, must neither be null nor empty.creationDateBased
- indicates whether the recalculation should be based on the creation date of the job or the current date
-
setJobPriority
public void setJobPriority(java.lang.String jobId, long priority)
Description copied from interface:ManagementService
Sets a new priority for the job with the provided id.- Specified by:
setJobPriority
in interfaceManagementService
- Parameters:
jobId
- the id of the job to modify, must not be nullpriority
- the job's new priority
-
createTablePageQuery
public TablePageQuery createTablePageQuery()
Description copied from interface:ManagementService
Creates aTablePageQuery
that can be used to fetchTablePage
containing specific sections of table row data.- Specified by:
createTablePageQuery
in interfaceManagementService
-
createJobQuery
public JobQuery createJobQuery()
Description copied from interface:ManagementService
Returns a new JobQuery implementation, that can be used to dynamically query the jobs.- Specified by:
createJobQuery
in interfaceManagementService
-
createJobDefinitionQuery
public JobDefinitionQuery createJobDefinitionQuery()
Description copied from interface:ManagementService
Returns a newJobDefinitionQuery
implementation, that can be used to dynamically query the job definitions.- Specified by:
createJobDefinitionQuery
in interfaceManagementService
-
getJobExceptionStacktrace
public java.lang.String getJobExceptionStacktrace(java.lang.String jobId)
Description copied from interface:ManagementService
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.- Specified by:
getJobExceptionStacktrace
in interfaceManagementService
- Parameters:
jobId
- id of the job, cannot be null.
-
getProperties
public java.util.Map<java.lang.String,java.lang.String> getProperties()
- Specified by:
getProperties
in interfaceManagementService
- Returns:
- a map of all properties.
-
setProperty
public void setProperty(java.lang.String name, java.lang.String value)
Description copied from interface:ManagementService
Set the value for a property.- Specified by:
setProperty
in interfaceManagementService
- Parameters:
name
- the name of the property.value
- the new value for the property.
-
deleteProperty
public void deleteProperty(java.lang.String name)
Description copied from interface:ManagementService
Deletes a property by name. If the property does not exist, the request is ignored.- Specified by:
deleteProperty
in interfaceManagementService
- Parameters:
name
- the name of the property to delete
-
setLicenseKey
public void setLicenseKey(java.lang.String licenseKey)
Description copied from interface:ManagementService
Set the license key.- Specified by:
setLicenseKey
in interfaceManagementService
- Parameters:
licenseKey
- the license key string.
-
getLicenseKey
public java.lang.String getLicenseKey()
Description copied from interface:ManagementService
Get the stored license key string ornull
if no license is set.- Specified by:
getLicenseKey
in interfaceManagementService
-
deleteLicenseKey
public void deleteLicenseKey()
Description copied from interface:ManagementService
Deletes the stored license key. If no license key is set, the request is ignored.- Specified by:
deleteLicenseKey
in interfaceManagementService
-
databaseSchemaUpgrade
public java.lang.String databaseSchemaUpgrade(java.sql.Connection connection, java.lang.String catalog, java.lang.String schema)
Description copied from interface:ManagementService
programmatic schema update on a given connection returning feedback about what happened Note: will always return an empty string- Specified by:
databaseSchemaUpgrade
in interfaceManagementService
-
purge
public PurgeReport purge()
Purges the database and the deployment cache.
-
createProcessDefinitionStatisticsQuery
public ProcessDefinitionStatisticsQuery createProcessDefinitionStatisticsQuery()
Description copied from interface:ManagementService
Query for the number of process instances aggregated by process definitions.- Specified by:
createProcessDefinitionStatisticsQuery
in interfaceManagementService
-
createActivityStatisticsQuery
public ActivityStatisticsQuery createActivityStatisticsQuery(java.lang.String processDefinitionId)
Description copied from interface:ManagementService
Query for the number of activity instances aggregated by activities of a single process definition.- Specified by:
createActivityStatisticsQuery
in interfaceManagementService
-
createDeploymentStatisticsQuery
public DeploymentStatisticsQuery createDeploymentStatisticsQuery()
Description copied from interface:ManagementService
Query for the number of process instances aggregated by deployments.- Specified by:
createDeploymentStatisticsQuery
in interfaceManagementService
-
getRegisteredDeployments
public java.util.Set<java.lang.String> getRegisteredDeployments()
Description copied from interface:ManagementService
Get the deployments that are registered the engine's job executor. This set is only relevant, if the engine configuration propertyjobExecutorDeploymentAware
is set.- Specified by:
getRegisteredDeployments
in interfaceManagementService
-
registerDeploymentForJobExecutor
public void registerDeploymentForJobExecutor(java.lang.String deploymentId)
Description copied from interface:ManagementService
Register a deployment for the engine's job executor. This is required, if the engine configuration propertyjobExecutorDeploymentAware
is set. If set to false, the job executor will execute any job.- Specified by:
registerDeploymentForJobExecutor
in interfaceManagementService
-
unregisterDeploymentForJobExecutor
public void unregisterDeploymentForJobExecutor(java.lang.String deploymentId)
Description copied from interface:ManagementService
Unregister a deployment for the engine's job executor. If the engine configuration propertyjobExecutorDeploymentAware
is set, jobs for the given deployment will no longer get acquired.- Specified by:
unregisterDeploymentForJobExecutor
in interfaceManagementService
-
activateJobDefinitionById
public void activateJobDefinitionById(java.lang.String jobDefinitionId)
Description copied from interface:ManagementService
Activates the
JobDefinition
with the given id immediately.Note: All
Job
s of the provided job definition will be not activated.Note: for more complex activate commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
activateJobDefinitionById
in interfaceManagementService
- See Also:
ManagementService.activateJobById(String)
,ManagementService.activateJobByJobDefinitionId(String)
-
activateJobDefinitionById
public void activateJobDefinitionById(java.lang.String jobDefinitionId, boolean activateJobs)
Description copied from interface:ManagementService
Activates the
JobDefinition
with the given id immediately.Note: for more complex activate commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
activateJobDefinitionById
in interfaceManagementService
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.- See Also:
ManagementService.activateJobById(String)
,ManagementService.activateJobByJobDefinitionId(String)
-
activateJobDefinitionById
public void activateJobDefinitionById(java.lang.String jobDefinitionId, boolean activateJobs, java.util.Date activationDate)
Description copied from interface:ManagementService
Activates theJobDefinition
with the given id.Note: for more complex activate commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
activateJobDefinitionById
in interfaceManagementService
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.activationDate
- The date on which the job definition will be activated. If null, the job definition is activated immediately. Note: TheJobExecutor
needs to be active to use this!- See Also:
ManagementService.activateJobById(String)
,ManagementService.activateJobByJobDefinitionId(String)
-
suspendJobDefinitionById
public void suspendJobDefinitionById(java.lang.String jobDefinitionId)
Description copied from interface:ManagementService
Suspends the
JobDefinition
with the given id immediately.Note: for more complex suspend commands use
ManagementService.updateJobDefinitionSuspensionState()
.Note: All
Job
s of the provided job definition will be not suspended.- Specified by:
suspendJobDefinitionById
in interfaceManagementService
- See Also:
ManagementService.suspendJobById(String)
,ManagementService.suspendJobByJobDefinitionId(String)
-
suspendJobDefinitionById
public void suspendJobDefinitionById(java.lang.String jobDefinitionId, boolean suspendJobs)
Description copied from interface:ManagementService
Suspends theJobDefinition
with the given id immediately.Note: for more complex suspend commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
suspendJobDefinitionById
in interfaceManagementService
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.- See Also:
ManagementService.suspendJobById(String)
,ManagementService.suspendJobByJobDefinitionId(String)
-
suspendJobDefinitionById
public void suspendJobDefinitionById(java.lang.String jobDefinitionId, boolean suspendJobs, java.util.Date suspensionDate)
Description copied from interface:ManagementService
Suspends theJobDefinition
with the given id.Note: for more complex suspend commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
suspendJobDefinitionById
in interfaceManagementService
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.suspensionDate
- The date on which the job definition will be suspended. If null, the job definition is suspended immediately. Note: TheJobExecutor
needs to be active to use this!- See Also:
ManagementService.suspendJobById(String)
,ManagementService.suspendJobByJobDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionId
public void activateJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId)
Description copied from interface:ManagementService
Activates all
JobDefinition
s of the provided process definition id immediately.Note: All
Job
s of the provided job definition will be not activated.Note: for more complex activate commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
activateJobDefinitionByProcessDefinitionId
in interfaceManagementService
- See Also:
ManagementService.activateJobByProcessDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionId
public void activateJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId, boolean activateJobs)
Description copied from interface:ManagementService
Activates all
JobDefinition
s of the provided process definition id immediately.Note: for more complex activate commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
activateJobDefinitionByProcessDefinitionId
in interfaceManagementService
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.- See Also:
ManagementService.activateJobByProcessDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionId
public void activateJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId, boolean activateJobs, java.util.Date activationDate)
Description copied from interface:ManagementService
Activates all
JobDefinition
s of the provided process definition id.Note: for more complex activate commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
activateJobDefinitionByProcessDefinitionId
in interfaceManagementService
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.activationDate
- The date on which the job definition will be activated. If null, the job definition is activated immediately. Note: TheJobExecutor
needs to be active to use this!- See Also:
ManagementService.activateJobByProcessDefinitionId(String)
-
suspendJobDefinitionByProcessDefinitionId
public void suspendJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId)
Description copied from interface:ManagementService
Suspends all
JobDefinition
of the provided process definition id immediately.Note: for more complex suspend commands use
ManagementService.updateJobDefinitionSuspensionState()
.Note: All
Job
s of the provided job definition will be not suspended.- Specified by:
suspendJobDefinitionByProcessDefinitionId
in interfaceManagementService
- See Also:
ManagementService.suspendJobByProcessDefinitionId(String)
-
suspendJobDefinitionByProcessDefinitionId
public void suspendJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId, boolean suspendJobs)
Description copied from interface:ManagementService
Suspends allJobDefinition
s of the provided process definition id immediately.Note: for more complex suspend commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
suspendJobDefinitionByProcessDefinitionId
in interfaceManagementService
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.- See Also:
ManagementService.suspendJobByProcessDefinitionId(String)
-
suspendJobDefinitionByProcessDefinitionId
public void suspendJobDefinitionByProcessDefinitionId(java.lang.String processDefinitionId, boolean suspendJobs, java.util.Date suspensionDate)
Description copied from interface:ManagementService
Suspends allJobDefinition
s of the provided process definition id.Note: for more complex suspend commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
suspendJobDefinitionByProcessDefinitionId
in interfaceManagementService
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.suspensionDate
- The date on which the job definition will be suspended. If null, the job definition is suspended immediately. Note: TheJobExecutor
needs to be active to use this!- See Also:
ManagementService.suspendJobByProcessDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionKey
public void activateJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey)
Description copied from interface:ManagementService
Activates all
JobDefinition
s of the provided process definition key immediately.Note: All
Job
s of the provided job definition will be not activated.Note: for more complex activate commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
activateJobDefinitionByProcessDefinitionKey
in interfaceManagementService
- See Also:
ManagementService.activateJobByProcessDefinitionKey(String)
-
activateJobDefinitionByProcessDefinitionKey
public void activateJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey, boolean activateJobs)
Description copied from interface:ManagementService
Activates all
JobDefinition
s of the provided process definition key immediately.Note: for more complex activate commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
activateJobDefinitionByProcessDefinitionKey
in interfaceManagementService
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.- See Also:
ManagementService.activateJobByProcessDefinitionKey(String)
-
activateJobDefinitionByProcessDefinitionKey
public void activateJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey, boolean activateJobs, java.util.Date activationDate)
Description copied from interface:ManagementService
Activates all
JobDefinition
s of the provided process definition key.Note: for more complex activate commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
activateJobDefinitionByProcessDefinitionKey
in interfaceManagementService
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.activationDate
- The date on which the job definition will be activated. If null, the job definition is activated immediately. Note: TheJobExecutor
needs to be active to use this!- See Also:
ManagementService.activateJobByProcessDefinitionKey(String)
-
suspendJobDefinitionByProcessDefinitionKey
public void suspendJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey)
Description copied from interface:ManagementService
Suspends all
JobDefinition
of the provided process definition key immediately.Note: for more complex suspend commands use
ManagementService.updateJobDefinitionSuspensionState()
.Note: All
Job
s of the provided job definition will be not suspended.- Specified by:
suspendJobDefinitionByProcessDefinitionKey
in interfaceManagementService
- See Also:
ManagementService.suspendJobByProcessDefinitionKey(String)
-
suspendJobDefinitionByProcessDefinitionKey
public void suspendJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey, boolean suspendJobs)
Description copied from interface:ManagementService
Suspends allJobDefinition
s of the provided process definition key immediately.Note: for more complex suspend commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
suspendJobDefinitionByProcessDefinitionKey
in interfaceManagementService
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.- See Also:
ManagementService.suspendJobByProcessDefinitionKey(String)
-
suspendJobDefinitionByProcessDefinitionKey
public void suspendJobDefinitionByProcessDefinitionKey(java.lang.String processDefinitionKey, boolean suspendJobs, java.util.Date suspensionDate)
Description copied from interface:ManagementService
Suspends allJobDefinition
s of the provided process definition key.Note: for more complex suspend commands use
ManagementService.updateJobDefinitionSuspensionState()
.- Specified by:
suspendJobDefinitionByProcessDefinitionKey
in interfaceManagementService
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.suspensionDate
- The date on which the job definition will be suspended. If null, the job definition is suspended immediately. Note: TheJobExecutor
needs to be active to use this!- See Also:
ManagementService.suspendJobByProcessDefinitionKey(String)
-
updateJobDefinitionSuspensionState
public UpdateJobDefinitionSuspensionStateSelectBuilder updateJobDefinitionSuspensionState()
Description copied from interface:ManagementService
Activate or suspend job definitions using a fluent builder. Specify the job definitions by calling one of the by methods, like byJobDefinitionId. To update the suspension state callUpdateJobDefinitionSuspensionStateBuilder.activate()
orUpdateJobDefinitionSuspensionStateBuilder.suspend()
.- Specified by:
updateJobDefinitionSuspensionState
in interfaceManagementService
- Returns:
- the builder to update the suspension state
-
activateJobById
public void activateJobById(java.lang.String jobId)
Description copied from interface:ManagementService
Activates the
Job
with the given id.Note: for more complex activate commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
activateJobById
in interfaceManagementService
-
activateJobByProcessInstanceId
public void activateJobByProcessInstanceId(java.lang.String processInstanceId)
Description copied from interface:ManagementService
Activates all
Job
s of the provided process instance id.Note: for more complex activate commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
activateJobByProcessInstanceId
in interfaceManagementService
-
activateJobByJobDefinitionId
public void activateJobByJobDefinitionId(java.lang.String jobDefinitionId)
Description copied from interface:ManagementService
Activates all
Job
s of the provided job definition id.Note: for more complex activate commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
activateJobByJobDefinitionId
in interfaceManagementService
-
activateJobByProcessDefinitionId
public void activateJobByProcessDefinitionId(java.lang.String processDefinitionId)
Description copied from interface:ManagementService
Activates all
Job
s of the provided process definition id.Note: for more complex activate commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
activateJobByProcessDefinitionId
in interfaceManagementService
-
activateJobByProcessDefinitionKey
public void activateJobByProcessDefinitionKey(java.lang.String processDefinitionKey)
Description copied from interface:ManagementService
Activates
Job
s of the provided process definition key.Note: for more complex activate commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
activateJobByProcessDefinitionKey
in interfaceManagementService
-
suspendJobById
public void suspendJobById(java.lang.String jobId)
Description copied from interface:ManagementService
Suspends the
Job
with the given id.Note: for more complex suspend commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
suspendJobById
in interfaceManagementService
-
suspendJobByJobDefinitionId
public void suspendJobByJobDefinitionId(java.lang.String jobDefinitionId)
Description copied from interface:ManagementService
Suspends all
Job
s of the provided job definition id.Note: for more complex suspend commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
suspendJobByJobDefinitionId
in interfaceManagementService
-
suspendJobByProcessInstanceId
public void suspendJobByProcessInstanceId(java.lang.String processInstanceId)
Description copied from interface:ManagementService
Suspends all
Job
s of the provided process instance id.Note: for more complex suspend commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
suspendJobByProcessInstanceId
in interfaceManagementService
-
suspendJobByProcessDefinitionId
public void suspendJobByProcessDefinitionId(java.lang.String processDefinitionId)
Description copied from interface:ManagementService
Suspends all
Job
s of the provided process definition id.Note: for more complex suspend commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
suspendJobByProcessDefinitionId
in interfaceManagementService
-
suspendJobByProcessDefinitionKey
public void suspendJobByProcessDefinitionKey(java.lang.String processDefinitionKey)
Description copied from interface:ManagementService
Suspends
Job
s of the provided process definition key.Note: for more complex suspend commands use
ManagementService.updateJobSuspensionState()
.- Specified by:
suspendJobByProcessDefinitionKey
in interfaceManagementService
-
updateJobSuspensionState
public UpdateJobSuspensionStateSelectBuilder updateJobSuspensionState()
Description copied from interface:ManagementService
Activate or suspend jobs using a fluent builder. Specify the jobs by calling one of the by methods, like byJobId. To update the suspension state callUpdateJobSuspensionStateBuilder.activate()
orUpdateJobSuspensionStateBuilder.suspend()
.- Specified by:
updateJobSuspensionState
in interfaceManagementService
- Returns:
- the builder to update the suspension state
-
getHistoryLevel
public int getHistoryLevel()
Description copied from interface:ManagementService
Get the configured history level for the process engine.- Specified by:
getHistoryLevel
in interfaceManagementService
- Returns:
- the history level
-
createMetricsQuery
public MetricsQuery createMetricsQuery()
- Specified by:
createMetricsQuery
in interfaceManagementService
- Returns:
- a new metrics Query.
-
deleteMetrics
public void deleteMetrics(java.util.Date timestamp)
Description copied from interface:ManagementService
Deletes all metrics events which are older than the specified timestamp. If the timestamp is null, all metrics will be deleted- Specified by:
deleteMetrics
in interfaceManagementService
- Parameters:
timestamp
- or null
-
deleteMetrics
public void deleteMetrics(java.util.Date timestamp, java.lang.String reporter)
Description copied from interface:ManagementService
Deletes all metrics events which are older than the specified timestamp and reported by the given reporter. If a parameter is null, all metric events are matched in that regard.- Specified by:
deleteMetrics
in interfaceManagementService
- Parameters:
timestamp
- or nullreporter
- or null
-
reportDbMetricsNow
public void reportDbMetricsNow()
Description copied from interface:ManagementService
Forces this engine to commit its pending collected metrics to the database.- Specified by:
reportDbMetricsNow
in interfaceManagementService
-
getUniqueTaskWorkerCount
public long getUniqueTaskWorkerCount(java.util.Date startTime, java.util.Date endTime)
Description copied from interface:ManagementService
Calculates the number of unique task workers based on user task assignees.- Specified by:
getUniqueTaskWorkerCount
in interfaceManagementService
- Parameters:
startTime
- restrict to data collected after the given date (inclusive), can benull
endTime
- restrict to data collected before the given date (exclusive), can benull
- Returns:
- the aggregated number of unique task workers (may be restricted to a certain interval)
-
deleteTaskMetrics
public void deleteTaskMetrics(java.util.Date timestamp)
Description copied from interface:ManagementService
Deletes all task metrics which are older than the specified timestamp. If the timestamp is null, all metrics will be deleted- Specified by:
deleteTaskMetrics
in interfaceManagementService
- Parameters:
timestamp
- ornull
-
setOverridingJobPriorityForJobDefinition
public void setOverridingJobPriorityForJobDefinition(java.lang.String jobDefinitionId, long priority)
Description copied from interface:ManagementService
Sets an explicit priority for jobs of the given job definition. Jobs created after invoking this method receive the given priority. This setting overrides any setting specified in the BPMN 2.0 XML.
The overriding priority can be cleared by using the method
ManagementService.clearOverridingJobPriorityForJobDefinition(String)
.- Specified by:
setOverridingJobPriorityForJobDefinition
in interfaceManagementService
- Parameters:
jobDefinitionId
- the id of the job definition to set the priority forpriority
- the priority to set;
-
setOverridingJobPriorityForJobDefinition
public void setOverridingJobPriorityForJobDefinition(java.lang.String jobDefinitionId, long priority, boolean cascade)
Description copied from interface:ManagementService
Sets an explicit default priority for jobs of the given job definition. Jobs created after invoking this method receive the given priority. This setting overrides any setting specified in the BPMN 2.0 XML.
If
cascade
is true, priorities of already existing jobs are updated accordingly.The overriding priority can be cleared by using the method
ManagementService.clearOverridingJobPriorityForJobDefinition(String)
.- Specified by:
setOverridingJobPriorityForJobDefinition
in interfaceManagementService
- Parameters:
jobDefinitionId
- the id of the job definition to set the priority forpriority
- the priority to setcascade
- if true, priorities of existing jobs of the given definition are changed as well
-
clearOverridingJobPriorityForJobDefinition
public void clearOverridingJobPriorityForJobDefinition(java.lang.String jobDefinitionId)
Description copied from interface:ManagementService
Clears the job definition's overriding job priority if set. After invoking this method, new jobs of the given definition receive the priority as specified in the BPMN 2.0 XML or the global default priority.
Existing job instance priorities remain unchanged.
- Specified by:
clearOverridingJobPriorityForJobDefinition
in interfaceManagementService
- Parameters:
jobDefinitionId
- the id of the job definition for which to clear the overriding priority
-
createBatchQuery
public BatchQuery createBatchQuery()
Description copied from interface:ManagementService
Creates a query to search forBatch
instances.- Specified by:
createBatchQuery
in interfaceManagementService
-
deleteBatch
public void deleteBatch(java.lang.String batchId, boolean cascade)
Description copied from interface:ManagementService
Deletes a batch instance and the corresponding job definitions. If cascade is set to true the historic batch instances and the historic jobs logs are also removed.- Specified by:
deleteBatch
in interfaceManagementService
-
suspendBatchById
public void suspendBatchById(java.lang.String batchId)
Description copied from interface:ManagementService
Suspends the
Batch
with the given id immediately.Note: All
JobDefinition
s andJob
s related to the provided batch will be suspended.- Specified by:
suspendBatchById
in interfaceManagementService
-
activateBatchById
public void activateBatchById(java.lang.String batchId)
Description copied from interface:ManagementService
Activates the
Batch
with the given id immediately.Note: All
JobDefinition
s andJob
s related to the provided batch will be activated.- Specified by:
activateBatchById
in interfaceManagementService
-
createBatchStatisticsQuery
public BatchStatisticsQuery createBatchStatisticsQuery()
Description copied from interface:ManagementService
Query for the statistics of the batch execution jobs of a batch.- Specified by:
createBatchStatisticsQuery
in interfaceManagementService
-
createSchemaLogQuery
public SchemaLogQuery createSchemaLogQuery()
Description copied from interface:ManagementService
Query for entries of the database schema log.- Specified by:
createSchemaLogQuery
in interfaceManagementService
-
toggleTelemetry
public void toggleTelemetry(boolean enabled)
Description copied from interface:ManagementService
Enable/disable sending telemetry data to Camunda- Specified by:
toggleTelemetry
in interfaceManagementService
-
isTelemetryEnabled
public java.lang.Boolean isTelemetryEnabled()
Description copied from interface:ManagementService
Checks how sending telemetry data to Camunda is configured- Specified by:
isTelemetryEnabled
in interfaceManagementService
- Returns:
null
if the configuration is not defined so far, treated asfalse
and no data is sent,true
if the telemetry sending is enabled, andfalse
if the telemetry is disabled explicitly.
-
-