Interface ManagementService

  • All Known Implementing Classes:
    ManagementServiceImpl

    @Internal
    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.
    • Method Detail

      • getTableCount

        java.util.Map<java.lang.String,​java.lang.Long> getTableCount()
        Get the mapping containing {table name, row count} entries of the Activiti database schema.
      • getTableName

        java.lang.String getTableName​(java.lang.Class<?> activitiEntityClass)
        Gets the table name (including any configured prefix) for an Activiti entity like Task, Execution or the like.
      • getTableMetaData

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

        JobQuery createJobQuery()
        Returns a new JobQuery implementation, that can be used to dynamically query the 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.
      • executeJob

        void executeJob​(java.lang.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:
        ActivitiObjectNotFoundException - when there is no job with the given id.
      • moveTimerToExecutableJob

        Job moveTimerToExecutableJob​(java.lang.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:
        ActivitiObjectNotFoundException - when there is no job with the given id.
      • moveJobToDeadLetterJob

        Job moveJobToDeadLetterJob​(java.lang.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:
        ActivitiObjectNotFoundException - when there is no job with the given id.
      • moveDeadLetterJobToExecutableJob

        Job moveDeadLetterJobToExecutableJob​(java.lang.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:
        ActivitiObjectNotFoundException - when there is no job with the given id.
      • deleteJob

        void deleteJob​(java.lang.String jobId)
        Delete the job with the provided id.
        Parameters:
        jobId - id of the job to delete, cannot be null.
        Throws:
        ActivitiObjectNotFoundException - when there is no job with the given id.
      • deleteTimerJob

        void deleteTimerJob​(java.lang.String jobId)
        Delete the timer job with the provided id.
        Parameters:
        jobId - id of the timer job to delete, cannot be null.
        Throws:
        ActivitiObjectNotFoundException - when there is no job with the given id.
      • deleteDeadLetterJob

        void deleteDeadLetterJob​(java.lang.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:
        ActivitiObjectNotFoundException - when there is no job with the given id.
      • setJobRetries

        void setJobRetries​(java.lang.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​(java.lang.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

        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. Returns null when the job has no exception stacktrace.
        Parameters:
        jobId - id of the job, cannot be null.
        Throws:
        ActivitiObjectNotFoundException - when no job exists with the given id.
      • getTimerJobExceptionStacktrace

        java.lang.String getTimerJobExceptionStacktrace​(java.lang.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:
        ActivitiObjectNotFoundException - when no job exists with the given id.
      • getSuspendedJobExceptionStacktrace

        java.lang.String getSuspendedJobExceptionStacktrace​(java.lang.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:
        ActivitiObjectNotFoundException - when no job exists with the given id.
      • getDeadLetterJobExceptionStacktrace

        java.lang.String getDeadLetterJobExceptionStacktrace​(java.lang.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:
        ActivitiObjectNotFoundException - when no job exists with the given id.
      • getProperties

        java.util.Map<java.lang.String,​java.lang.String> getProperties()
        get the list of properties.
      • databaseSchemaUpgrade

        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
      • executeCommand

        <T> T executeCommand​(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​(CommandConfig config,
                             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
      • executeCustomSql

        <MapperType,​ResultType> ResultType executeCustomSql​(CustomSqlExecution<MapperType,​ResultType> customSqlExecution)
        Executes the sql contained in the CustomSqlExecution parameter.
      • getEventLogEntries

        java.util.List<EventLogEntry> getEventLogEntries​(java.lang.Long startLogNr,
                                                         java.lang.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

        java.util.List<EventLogEntry> getEventLogEntriesByProcessInstanceId​(java.lang.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.