Package org.flowable.engine

# Interface ManagementService

public interface ManagementService
Service for admin and maintenance operations on the process engine. These operations will typically not be used in a workflow driven application, but are used in for example the operational console.

Author:
  Tom Baeyens, Joram Barrez, Falko Menge

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `bulkMoveDeadLetterJobs(Collection<String> jobIds, 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).
  `void`
  `bulkMoveDeadLetterJobsToHistoryJobs(Collection<String> jobIds, 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).
  `BatchBuilder`
  `createBatchBuilder()`
  `BatchPartBuilder`
  `createBatchPartBuilder(Batch batch)`
  `BatchPartQuery`
  `createBatchPartQuery()`
  Returns a new BatchPartQuery implementation, that can be used to dynamically query the batch parts.
  `BatchQuery`
  `createBatchQuery()`
  Returns a new BatchQuery implementation, that can be used to dynamically query the batches.
  `ChangeTenantIdBuilder`
  `createChangeTenantIdBuilder(String fromTenantId, String toTenantId)`
  Create a `ChangeTenantIdBuilder` that can be used to change the tenant id of the process instances and all the related instances.
  `DeadLetterJobQuery`
  `createDeadLetterJobQuery()`
  Returns a new DeadLetterJobQuery implementation, that can be used to dynamically query the dead letter jobs.
  `ExternalWorkerCompletionBuilder`
  `createExternalWorkerCompletionBuilder(String externalJobId, String workerId)`
  Create an `ExternalWorkerCompletionBuilder` that can be used to transition the status of the external worker job.
  `ExternalWorkerJobAcquireBuilder`
  `createExternalWorkerJobAcquireBuilder()`
  Create an `ExternalWorkerJobAcquireBuilder` that can be used to acquire jobs for an external worker.
  `ExternalWorkerJobFailureBuilder`
  `createExternalWorkerJobFailureBuilder(String externalJobId, String workerId)`
  Create an `ExternalWorkerJobFailureBuilder` that can be used to fail an external worker job.
  `ExternalWorkerJobQuery`
  `createExternalWorkerJobQuery()`
  Returns a new ExternalWorkerJobQuery implementation, that can be used to dynamically query the external worker jobs.
  `HistoryJobQuery`
  `createHistoryJobQuery()`
  Returns a new HistoryJobQuery implementation, that can be used to dynamically query the history jobs.
  `JobQuery`
  `createJobQuery()`
  Returns a new JobQuery implementation, that can be used to dynamically query the jobs.
  `SuspendedJobQuery`
  `createSuspendedJobQuery()`
  Returns a new SuspendedJobQuery implementation, that can be used to dynamically query the suspended jobs.
  `TablePageQuery`
  `createTablePageQuery()`
  Creates a `TablePageQuery` that can be used to fetch `TablePage` containing specific sections of table row data.
  `TimerJobQuery`
  `createTimerJobQuery()`
  Returns a new TimerJobQuery implementation, that can be used to dynamically query the timer jobs.
  `String`
  `databaseSchemaUpgrade(Connection connection, String catalog, String schema)`
  programmatic schema update on a given connection returning feedback about what happened
  `void`
  `deleteBatch(String batchId)`
  `void`
  `deleteDeadLetterJob(String jobId)`
  Delete the dead letter job with the provided id.
  `void`
  `deleteEventLogEntry(long logNr)`
  Delete a EventLogEntry.
  `void`
  `deleteExternalWorkerJob(String jobId)`
  Delete the external worker 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.
  `<T> T`
  `executeCommand(org.flowable.common.engine.impl.interceptor.Command<T> command)`
  Executes a given command with the default `CommandConfig`.
  `<T> T`
  `executeCommand(org.flowable.common.engine.impl.interceptor.CommandConfig config, org.flowable.common.engine.impl.interceptor.Command<T> command)`
  Executes a given command with the specified `CommandConfig`.
  `<MapperType, ResultType>
  ResultType`
  `executeCustomSql(org.flowable.common.engine.impl.cmd.CustomSqlExecution<MapperType,ResultType> customSqlExecution)`
  Executes the sql contained in the `CustomSqlExecution` parameter.
  `void`
  `executeHistoryJob(String historyJobId)`
  Forced synchronous execution of a history job (eg. for administration or testing).
  `void`
  `executeJob(String jobId)`
  Forced synchronous execution of a job (eg. for administration or testing).
  `List<Batch>`
  `findBatchesBySearchKey(String searchKey)`
  `List<BatchPart>`
  `findBatchPartsByBatchId(String batchId)`
  `List<BatchPart>`
  `findBatchPartsByBatchIdAndStatus(String batchId, String status)`
  `Job`
  `findJobByCorrelationId(String jobCorrelationId)`
  Find a job by a correlation id.
  `List<Batch>`
  `getAllBatches()`
  `String`
  `getBatchDocument(String batchId)`
  `BatchPart`
  `getBatchPart(String batchPartId)`
  `String`
  `getBatchPartDocument(String batchPartId)`
  `String`
  `getDeadLetterJobExceptionStacktrace(String jobId)`
  Returns the full stacktrace of the exception that occurs when the `DeadLetterJobEntity` with the given id was last executed.
  `List<EventLogEntry>`
  `getEventLogEntries(Long startLogNr, Long pageSize)`
  Returns a list of event log entries, describing everything the engine has processed.
  `List<EventLogEntry>`
  `getEventLogEntriesByProcessInstanceId(String processInstanceId)`
  Returns a list of event log entries for a specific process instance id.
  `String`
  `getExternalWorkerJobErrorDetails(String jobId)`
  Returns the full error details that were passed to the `ExternalWorkerJobEntity` when the job was last failed.
  `String`
  `getHistoryJobHistoryJson(String historyJobId)`
  Get the advanced configuration (storing the history json data) of a `HistoryJob`.
  `String`
  `getJobExceptionStacktrace(String jobId)`
  Returns the full stacktrace of the exception that occurs when the job with the given id was last executed.
  `LockManager`
  `getLockManager(String lockName)`
  Acquire a lock manager for the requested lock.
  `Map<String,String>`
  `getProperties()`
  get the list of properties.
  `String`
  `getSuspendedJobExceptionStacktrace(String jobId)`
  Returns the full stacktrace of the exception that occurs when the `SuspendedJobEntity` with the given id was last executed.
  `Map<String,Long>`
  `getTableCount()`
  Get the mapping containing {table name, row count} entries of the database schema.
  `TableMetaData`
  `getTableMetaData(String tableName)`
  Gets the metadata (column names, column types, etc.) of a certain table.
  `String`
  `getTableName(Class<?> entityClass)`
  Gets the table name (including any configured prefix) for an entity like Task, Execution or the like.
  `String`
  `getTableName(Class<?> entityClass, boolean includePrefix)`
  Gets the table name for an entity like Task, Execution or the like.
  `String`
  `getTimerJobExceptionStacktrace(String jobId)`
  Returns the full stacktrace of the exception that occurs when the `TimerJobEntity` with the given id was last executed.
  `void`
  `handleHistoryCleanupTimerJob()`
  `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 was 0 when it was put into the dead letter job table).
  `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).
  `Job`
  `moveJobToDeadLetterJob(String jobId)`
  Moves a job to the dead letter job table (eg. for administration or testing).
  `Job`
  `moveSuspendedJobToExecutableJob(String jobId)`
  Moves a suspended job from the suspended letter job table back to be an executable job.
  `Job`
  `moveTimerToExecutableJob(String jobId)`
  Moves a timer job to the executable job table (eg. for administration or testing).
  `Job`
  `rescheduleTimeCycleJob(String jobId, String timeCycle)`
  Reschedule a timer job with a time cycle.
  `Job`
  `rescheduleTimeDateJob(String jobId, String timeDate)`
  Reschedule a timer job with a time date.
  `Job`
  `rescheduleTimeDurationJob(String jobId, String timeDuration)`
  Reschedule a timer job with a time duration.
  `Job`
  `rescheduleTimerJob(String jobId, String timeDate, String timeDuration, String timeCycle, String endDate, String calendarName)`
  Reschedule a timer job.
  `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.
  `void`
  `unacquireAllExternalWorkerJobsForWorker(String workerId)`
  Unaquire all locked external worker jobs for worker.
  `void`
  `unacquireAllExternalWorkerJobsForWorker(String workerId, String tenantId)`
  Unaquire all locked external worker jobs for worker and tenant.
  `void`
  `unacquireExternalWorkerJob(String jobId, String workerId)`
  Unaquire a locked external worker job.

- ## Method Details

  - ### getTableCount

    Map<String,Long> getTableCount()
    Get the mapping containing {table name, row count} entries of the database schema.

  - ### getTableName

    String getTableName(Class<?> entityClass)
    Gets the table name (including any configured prefix) for an entity like Task, Execution or the like.

  - ### getTableName

    String getTableName(Class<?> entityClass, boolean includePrefix)
    Gets the table name for an entity like Task, Execution or the like.

  - ### getTableMetaData

    TableMetaData getTableMetaData(String tableName)
    Gets the metadata (column names, column types, etc.) of a certain table. Returns null when no table exists with the given name.

  - ### createTablePageQuery

    TablePageQuery createTablePageQuery()
    Creates a `TablePageQuery` that can be used to fetch `TablePage` containing specific sections of table row data.

  - ### createJobQuery

    JobQuery createJobQuery()
    Returns a new JobQuery implementation, that can be used to dynamically query the jobs.

  - ### createExternalWorkerJobQuery

    ExternalWorkerJobQuery createExternalWorkerJobQuery()
    Returns a new ExternalWorkerJobQuery implementation, that can be used to dynamically query the external worker jobs.

  - ### createTimerJobQuery

    TimerJobQuery createTimerJobQuery()
    Returns a new TimerJobQuery implementation, that can be used to dynamically query the timer jobs.

  - ### createSuspendedJobQuery

    SuspendedJobQuery createSuspendedJobQuery()
    Returns a new SuspendedJobQuery implementation, that can be used to dynamically query the suspended jobs.

  - ### createDeadLetterJobQuery

    DeadLetterJobQuery createDeadLetterJobQuery()
    Returns a new DeadLetterJobQuery implementation, that can be used to dynamically query the dead letter jobs.

  - ### createHistoryJobQuery

    HistoryJobQuery createHistoryJobQuery()
    Returns a new HistoryJobQuery implementation, that can be used to dynamically query the history jobs.

  - ### findJobByCorrelationId

    Job findJobByCorrelationId(String jobCorrelationId)
    Find a job by a correlation id.

  - ### executeJob

    void executeJob(String jobId)
    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.
    Parameters:
      `jobId` - id of the job to execute, cannot be null.
    Throws:
      `FlowableObjectNotFoundException` - when there is no job with the given id.

  - ### executeHistoryJob

    void executeHistoryJob(String historyJobId)
    Forced synchronous execution of a history job (eg. for administration or testing).
    Parameters:
      `historyJobId` - id of the history job to execute, cannot be null.
    Throws:
      `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 a `HistoryJob`.
    Parameters:
      `historyJobId` - id of the history job to execute, cannot be null.
    Throws:
      `FlowableObjectNotFoundException` - when there is no historyJob with the given id.

  - ### moveTimerToExecutableJob

    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 process definition and/or the process instance is in suspended state.
    Parameters:
      `jobId` - id of the timer job to move, cannot be null.
    Throws:
      `FlowableObjectNotFoundException` - when there is no job with the given id.

  - ### moveJobToDeadLetterJob

    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 process definition and/or the process instance has retries left.
    Parameters:
      `jobId` - id of the job to move, cannot be null.
    Throws:
      `FlowableObjectNotFoundException` - when there is no job with the given id.

  - ### moveDeadLetterJobToExecutableJob

    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 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:
      `FlowableObjectNotFoundException` - when there is no job with the given id.
      `FlowableIllegalArgumentException` - when the job cannot be moved to be an executable job (e.g. because it's a history job)

  - ### moveDeadLetterJobToHistoryJob

    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:
      `FlowableObjectNotFoundException` - when there is no job with the given id.
      `FlowableIllegalArgumentException` - when the job cannot be moved to be a history job (e.g. because it's not history job)

  - ### bulkMoveDeadLetterJobs

    void bulkMoveDeadLetterJobs(Collection<String> jobIds, 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:
      `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:
      `FlowableObjectNotFoundException` - when there is no job with the given id.
      `FlowableIllegalArgumentException` - when the job cannot be moved to be a history job (e.g. because it's not history job)

  - ### bulkMoveDeadLetterJobsToHistoryJobs

    void bulkMoveDeadLetterJobsToHistoryJobs(Collection<String> jobIds, 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:
      `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:
      `FlowableObjectNotFoundException` - when one job with of the given ids is not found.
      `FlowableIllegalArgumentException` - when the job cannot be moved to be a history job (e.g. because it's not history job)

  - ### moveSuspendedJobToExecutableJob

    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:
      `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:
      `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:
      `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:
      `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:
      `FlowableObjectNotFoundException` - when there is no job with the given id.

  - ### deleteExternalWorkerJob

    void deleteExternalWorkerJob(String jobId)
    Delete the external worker job with the provided id.
    Parameters:
      `jobId` - id of the external worker job to delete, cannot be null.
    Throws:
      `FlowableObjectNotFoundException` - when there is no job 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:
      `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.

  - ### rescheduleTimeDateJob

    Job rescheduleTimeDateJob(String jobId, String timeDate)
    Reschedule a timer job with a time date.
    Parameters:
      `jobId` - id of the timer job to reschedule, cannot be null.
      `timeDate` - A fixed date in ISO 8601 format, when job will be fired

  - ### rescheduleTimeDurationJob

    Job rescheduleTimeDurationJob(String jobId, String timeDuration)
    Reschedule a timer job with a time duration.
    Parameters:
      `jobId` - id of the timer job to reschedule, cannot be null.
      `timeDuration` - How long the timer should run before it is fired in ISO 8601 format. For example, PT10D means the timer will run for 10 days before it fires.

  - ### rescheduleTimeCycleJob

    Job rescheduleTimeCycleJob(String jobId, String timeCycle)
    Reschedule a timer job with a time cycle.
    Parameters:
      `jobId` - id of the timer job to reschedule, cannot be null.
      `timeCycle` - Specifies a repeating interval at which the timer will fire in ISO 8601 format. For example R3/PT10H means the timer will fire three timers in intervals of 10 hours.

  - ### rescheduleTimerJob

    Job rescheduleTimerJob(String jobId, String timeDate, String timeDuration, String timeCycle, String endDate, String calendarName)
    Reschedule a timer job.
    Parameters:
      `jobId` - id of the timer job to reschedule, cannot be null.
      `timeDate` - A fixed date in ISO 8601 format, when job will be fired
      `timeDuration` - How long the timer should run before it is fired in ISO 8601 format. For example, PT10D means the timer will run for 10 days before it fires.
      `timeCycle` - Specifies a repeating interval at which the timer will fire in ISO 8601 format. For example R3/PT10H means the timer will fire three timers in intervals of 10 hours.
      `endDate` - The date at which the application will stop creating additional jobs. The value should be provided in ISO8601 format. For example "2015-02-25T16:42:11+00:00".
      `calendarName` - The name of a business calendar defined in the process engine configuration. If null the default business calendars is used.

  - ### 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:
      `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 `TimerJobEntity` 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:
      `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 `SuspendedJobEntity` 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:
      `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 `DeadLetterJobEntity` 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:
      `FlowableObjectNotFoundException` - when no job exists with the given id.

  - ### getExternalWorkerJobErrorDetails

    String getExternalWorkerJobErrorDetails(String jobId)
    Returns the full error details that were passed to the `ExternalWorkerJobEntity` 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:
      `FlowableObjectNotFoundException` - when no job exists with the given id.

  - ### handleHistoryCleanupTimerJob

    void handleHistoryCleanupTimerJob()

  - ### getAllBatches

    List<Batch> getAllBatches()

  - ### findBatchesBySearchKey

    List<Batch> findBatchesBySearchKey(String searchKey)

  - ### getBatchDocument

    String getBatchDocument(String batchId)

  - ### getBatchPart

    BatchPart getBatchPart(String batchPartId)

  - ### findBatchPartsByBatchId

    List<BatchPart> findBatchPartsByBatchId(String batchId)

  - ### findBatchPartsByBatchIdAndStatus

    List<BatchPart> findBatchPartsByBatchIdAndStatus(String batchId, String status)

  - ### getBatchPartDocument

    String getBatchPartDocument(String batchPartId)

  - ### createBatchQuery

    BatchQuery createBatchQuery()
    Returns a new BatchQuery implementation, that can be used to dynamically query the batches.

  - ### createBatchBuilder

    BatchBuilder createBatchBuilder()

  - ### createBatchPartQuery

    BatchPartQuery createBatchPartQuery()
    Returns a new BatchPartQuery implementation, that can be used to dynamically query the batch parts.

  - ### createBatchPartBuilder

    BatchPartBuilder createBatchPartBuilder(Batch batch)

  - ### deleteBatch

    void deleteBatch(String batchId)

  - ### getProperties

    Map<String,String> getProperties()
    get the list of properties.

  - ### databaseSchemaUpgrade

    String databaseSchemaUpgrade(Connection connection, String catalog, String schema)
    programmatic schema update on a given connection returning feedback about what happened

  - ### executeCommand

    <T> T executeCommand(org.flowable.common.engine.impl.interceptor.Command<T> command)
    Executes a given command with the default `CommandConfig`.
    Parameters:
      `command` - the command, cannot be null.
    Returns:
      the result of command execution

  - ### executeCommand

    <T> T executeCommand(org.flowable.common.engine.impl.interceptor.CommandConfig config, org.flowable.common.engine.impl.interceptor.Command<T> command)
    Executes a given command with the specified `CommandConfig`.
    Parameters:
      `config` - the command execution configuration, cannot be null.
      `command` - the command, cannot be null.
    Returns:
      the result of command execution

  - ### getLockManager

    LockManager getLockManager(String lockName)
    Acquire a lock manager for the requested lock. This is a stateless call, this means that every time a lock manager is requested a new one would be created. Make sure that you release the lock once you are done.
    Parameters:
      `lockName` - the name of the lock that is being requested
    Returns:
      the lock manager for the given lock

  - ### executeCustomSql

    <MapperType, ResultType> ResultType executeCustomSql(org.flowable.common.engine.impl.cmd.CustomSqlExecution<MapperType,ResultType> customSqlExecution)
    Executes the sql contained in the `CustomSqlExecution` parameter.

  - ### getEventLogEntries

    List<EventLogEntry> getEventLogEntries(Long startLogNr, Long pageSize)
    Returns a list of event log entries, describing everything the engine has processed. Note that the event logging must specifically must be enabled in the process engine configuration. Passing null as arguments will effectively fetch ALL event log entries. Be careful, as this list might be huge!

  - ### getEventLogEntriesByProcessInstanceId

    List<EventLogEntry> getEventLogEntriesByProcessInstanceId(String processInstanceId)
    Returns a list of event log entries for a specific process instance id. Note that the event logging must specifically must be enabled in the process engine configuration. Passing null as arguments will effectively fetch ALL event log entries. Be careful, as this list might be huge!

  - ### deleteEventLogEntry

    void deleteEventLogEntry(long logNr)
    Delete a EventLogEntry. Typically only used in testing, as deleting log entries defeats the whole purpose of keeping a log.

  - ### createExternalWorkerJobAcquireBuilder

    ExternalWorkerJobAcquireBuilder createExternalWorkerJobAcquireBuilder()
    Create an `ExternalWorkerJobAcquireBuilder` that can be used to acquire jobs for an external worker.

  - ### createExternalWorkerJobFailureBuilder

    ExternalWorkerJobFailureBuilder createExternalWorkerJobFailureBuilder(String externalJobId, String workerId)
    Create an `ExternalWorkerJobFailureBuilder` that can be used to fail an external worker job.
    Parameters:
      `externalJobId` - the id of the external worker job
      `workerId` - the id of the worker doing the action

  - ### createExternalWorkerCompletionBuilder

    ExternalWorkerCompletionBuilder createExternalWorkerCompletionBuilder(String externalJobId, String workerId)
    Create an `ExternalWorkerCompletionBuilder` that can be used to transition the status of the external worker job.

  - ### unacquireExternalWorkerJob

    void unacquireExternalWorkerJob(String jobId, String workerId)
    Unaquire a locked external worker job.

  - ### unacquireAllExternalWorkerJobsForWorker

    void unacquireAllExternalWorkerJobsForWorker(String workerId)
    Unaquire all locked external worker jobs for worker.

  - ### unacquireAllExternalWorkerJobsForWorker

    void unacquireAllExternalWorkerJobsForWorker(String workerId, String tenantId)
    Unaquire all locked external worker jobs for worker and tenant.

  - ### createChangeTenantIdBuilder

    ChangeTenantIdBuilder createChangeTenantIdBuilder(String fromTenantId, String toTenantId)
    Create a `ChangeTenantIdBuilder` that can be used to change the tenant id of the process instances and all the related instances. See `BpmnChangeTenantIdEntityTypes` for related instances.

    You must provide the source tenant id and the destination tenant id. All instances from the source tenant id in the BPMN scope will be changed to the target tenant id.