org.camunda.bpm.engine
Interface HistoryService

All Known Implementing Classes:
HistoryServiceImpl

public interface HistoryService

Service exposing information about ongoing and past process instances. This is different from the runtime information in the sense that this runtime information only contains the actual runtime state at any given moment and it is optimized for runtime process execution performance. The history information is optimized for easy querying and remains permanent in the persistent storage.

Author:
Christian Stettler, Tom Baeyens, Joram Barrez

Method Summary
 Job cleanUpHistoryAsync()
          Schedules history cleanup job at batch window start time.
 Job cleanUpHistoryAsync(boolean immediatelyDue)
          Schedules history cleanup job.
 CleanableHistoricCaseInstanceReport createCleanableHistoricCaseInstanceReport()
          Creates a new programmatic query to create a cleanable historic case instance report.
 CleanableHistoricDecisionInstanceReport createCleanableHistoricDecisionInstanceReport()
          Creates a new programmatic query to create a cleanable historic decision instance report.
 CleanableHistoricProcessInstanceReport createCleanableHistoricProcessInstanceReport()
          Creates a new programmatic query to create a cleanable historic process instance report.
 HistoricActivityInstanceQuery createHistoricActivityInstanceQuery()
          Creates a new programmatic query to search for HistoricActivityInstances.
 HistoricActivityStatisticsQuery createHistoricActivityStatisticsQuery(String processDefinitionId)
          Query for the number of historic activity instances aggregated by activities of a single process definition.
 HistoricBatchQuery createHistoricBatchQuery()
          Creates a query to search for HistoricBatch instances.
 HistoricCaseActivityInstanceQuery createHistoricCaseActivityInstanceQuery()
          Creates a new programmatic query to search for HistoricCaseActivityInstances.
 HistoricCaseActivityStatisticsQuery createHistoricCaseActivityStatisticsQuery(String caseDefinitionId)
          Query for the number of historic case activity instances aggregated by case activities of a single case definition.
 HistoricCaseInstanceQuery createHistoricCaseInstanceQuery()
          Creates a new programmatic query to search for HistoricCaseInstances.
 HistoricDecisionInstanceQuery createHistoricDecisionInstanceQuery()
          Creates a new programmatic query to search for HistoricDecisionInstances.
 HistoricDecisionInstanceStatisticsQuery createHistoricDecisionInstanceStatisticsQuery(String decisionRequirementsDefinitionId)
          Query for the statistics of DRD evaluation.
 HistoricDetailQuery createHistoricDetailQuery()
          Creates a new programmatic query to search for HistoricDetails.
 HistoricExternalTaskLogQuery createHistoricExternalTaskLogQuery()
          Creates a new programmatic query to search for historic external task logs.
 HistoricIdentityLinkLogQuery createHistoricIdentityLinkLogQuery()
          Creates a new programmatic query to search for historic identity links.
 HistoricIncidentQuery createHistoricIncidentQuery()
          Creates a new programmatic query to search for historic incidents.
 HistoricJobLogQuery createHistoricJobLogQuery()
          Creates a new programmatic query to search for historic job logs.
 HistoricProcessInstanceQuery createHistoricProcessInstanceQuery()
          Creates a new programmatic query to search for HistoricProcessInstances.
 HistoricProcessInstanceReport createHistoricProcessInstanceReport()
          Creates a new programmatic query to create a historic process instance report.
 HistoricTaskInstanceQuery createHistoricTaskInstanceQuery()
          Creates a new programmatic query to search for HistoricTaskInstances.
 HistoricTaskInstanceReport createHistoricTaskInstanceReport()
          Creates a new programmatic query to create a historic task instance report.
 HistoricVariableInstanceQuery createHistoricVariableInstanceQuery()
          Creates a new programmatic query to search for HistoricVariableInstances.
 NativeHistoricActivityInstanceQuery createNativeHistoricActivityInstanceQuery()
          creates a native query to search for HistoricActivityInstances via SQL
 NativeHistoricCaseActivityInstanceQuery createNativeHistoricCaseActivityInstanceQuery()
          creates a native query to search for HistoricCaseActivityInstances via SQL
 NativeHistoricCaseInstanceQuery createNativeHistoricCaseInstanceQuery()
          creates a native query to search for HistoricCaseInstances via SQL
 NativeHistoricDecisionInstanceQuery createNativeHistoricDecisionInstanceQuery()
          creates a native query to search for HistoricDecisionInstances via SQL
 NativeHistoricProcessInstanceQuery createNativeHistoricProcessInstanceQuery()
          creates a native query to search for HistoricProcessInstances via SQL
 NativeHistoricTaskInstanceQuery createNativeHistoricTaskInstanceQuery()
          creates a native query to search for HistoricTaskInstances via SQL
 UserOperationLogQuery createUserOperationLogQuery()
          Creates a new programmatic query to search for UserOperationLogEntry instances.
 void deleteHistoricBatch(String id)
          Deletes a historic batch instance.
 void deleteHistoricCaseInstance(String caseInstanceId)
          Deletes historic case instance.
 void deleteHistoricCaseInstancesBulk(List<String> caseInstanceIds)
          Deletes historic case instances and all related historic data in bulk manner.
 void deleteHistoricDecisionInstance(String decisionDefinitionId)
          Deprecated. Note that this method name is not expressive enough, because it is also possible to delete the historic decision instance by the instance id. Therefore use deleteHistoricDecisionInstanceByDefinitionId(java.lang.String) instead to delete the historic decision instance by the definition id.
 void deleteHistoricDecisionInstanceByDefinitionId(String decisionDefinitionId)
          Deletes historic decision instances of a decision definition.
 void deleteHistoricDecisionInstanceByInstanceId(String historicDecisionInstanceId)
          Deletes historic decision instances by its id.
 void deleteHistoricDecisionInstancesBulk(List<String> decisionInstanceIds)
          Deletes decision instances and all related historic data in bulk manner.
 void deleteHistoricProcessInstance(String processInstanceId)
          Deletes historic process instance.
 void deleteHistoricProcessInstances(List<String> processInstanceIds)
          Deletes historic process instances.
 Batch deleteHistoricProcessInstancesAsync(HistoricProcessInstanceQuery query, String deleteReason)
          Deletes historic process instances asynchronously based on query.
 Batch deleteHistoricProcessInstancesAsync(List<String> processInstanceIds, HistoricProcessInstanceQuery query, String deleteReason)
          Deletes historic process instances asynchronously based on query and a list of process instances.
 Batch deleteHistoricProcessInstancesAsync(List<String> processInstanceIds, String deleteReason)
          Deletes historic process instances asynchronously.
 void deleteHistoricProcessInstancesBulk(List<String> processInstanceIds)
          Deletes historic process instances and all related historic data in bulk manner.
 void deleteHistoricTaskInstance(String taskId)
          Deletes historic task instance.
 void deleteUserOperationLogEntry(String entryId)
          Deletes a user operation log entry.
 Job findHistoryCleanupJob()
          Finds history cleanup job if present.
 String getHistoricExternalTaskLogErrorDetails(String historicExternalTaskLogId)
          Returns the full error details that occurs when the historic external task log with the given id was last executed.
 String getHistoricJobLogExceptionStacktrace(String historicJobLogId)
          Returns the full stacktrace of the exception that occurs when the historic job log with the given id was last executed.
 

Method Detail

createHistoricProcessInstanceQuery

HistoricProcessInstanceQuery createHistoricProcessInstanceQuery()
Creates a new programmatic query to search for HistoricProcessInstances.


createHistoricActivityInstanceQuery

HistoricActivityInstanceQuery createHistoricActivityInstanceQuery()
Creates a new programmatic query to search for HistoricActivityInstances.


createHistoricActivityStatisticsQuery

HistoricActivityStatisticsQuery createHistoricActivityStatisticsQuery(String processDefinitionId)
Query for the number of historic activity instances aggregated by activities of a single process definition.


createHistoricCaseActivityStatisticsQuery

HistoricCaseActivityStatisticsQuery createHistoricCaseActivityStatisticsQuery(String caseDefinitionId)
Query for the number of historic case activity instances aggregated by case activities of a single case definition.


createHistoricTaskInstanceQuery

HistoricTaskInstanceQuery createHistoricTaskInstanceQuery()
Creates a new programmatic query to search for HistoricTaskInstances.


createHistoricDetailQuery

HistoricDetailQuery createHistoricDetailQuery()
Creates a new programmatic query to search for HistoricDetails.


createHistoricVariableInstanceQuery

HistoricVariableInstanceQuery createHistoricVariableInstanceQuery()
Creates a new programmatic query to search for HistoricVariableInstances.


createUserOperationLogQuery

UserOperationLogQuery createUserOperationLogQuery()
Creates a new programmatic query to search for UserOperationLogEntry instances.


createHistoricIncidentQuery

HistoricIncidentQuery createHistoricIncidentQuery()
Creates a new programmatic query to search for historic incidents.


createHistoricIdentityLinkLogQuery

HistoricIdentityLinkLogQuery createHistoricIdentityLinkLogQuery()
Creates a new programmatic query to search for historic identity links.


createHistoricCaseInstanceQuery

HistoricCaseInstanceQuery createHistoricCaseInstanceQuery()
Creates a new programmatic query to search for HistoricCaseInstances.


createHistoricCaseActivityInstanceQuery

HistoricCaseActivityInstanceQuery createHistoricCaseActivityInstanceQuery()
Creates a new programmatic query to search for HistoricCaseActivityInstances.


createHistoricDecisionInstanceQuery

HistoricDecisionInstanceQuery createHistoricDecisionInstanceQuery()
Creates a new programmatic query to search for HistoricDecisionInstances. If the user has no Permissions.READ_HISTORY permission on Resources.DECISION_DEFINITION then the result of the query is empty.


deleteHistoricTaskInstance

void deleteHistoricTaskInstance(String taskId)
Deletes historic task instance. This might be useful for tasks that are dynamically created and then completed. If the historic task instance doesn't exist, no exception is thrown and the method returns normal.

Throws:
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.

deleteHistoricProcessInstance

void deleteHistoricProcessInstance(String processInstanceId)
Deletes historic process instance. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.

Throws:
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.

deleteHistoricProcessInstances

void deleteHistoricProcessInstances(List<String> processInstanceIds)
Deletes historic process instances. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.

Throws:
BadUserRequestException - when no process instances are found with the given ids or ids are null.
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.

deleteHistoricProcessInstancesBulk

void deleteHistoricProcessInstancesBulk(List<String> processInstanceIds)
Deletes historic process instances and all related historic data in bulk manner. DELETE SQL statement will be created for each entity type. They will have list of given process instance ids in IN clause. Therefore, DB limitation for number of values in IN clause must be taken into account.

Parameters:
processInstanceIds - list of process instance ids for removal
Throws:
BadUserRequestException - when no process instances are found with the given ids or ids are null or when some of the process instances are not finished yet
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.

cleanUpHistoryAsync

Job cleanUpHistoryAsync()
Schedules history cleanup job at batch window start time. The job will delete historic data for finished processes taking into account ResourceDefinition.getHistoryTimeToLive() value.

Returns:
history cleanup job. Job id can be used to check job logs, incident etc.
Throws:
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION

cleanUpHistoryAsync

Job cleanUpHistoryAsync(boolean immediatelyDue)
Schedules history cleanup job. The job will delete historic data for finished processes taking into account ResourceDefinition.getHistoryTimeToLive() value.

Parameters:
immediatelyDue - must be true if cleanup must be scheduled at once, otherwise is will be scheduled according to configured batch window
Returns:
history cleanup job. Job id can be used to check job logs, incident etc.
Throws:
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION

findHistoryCleanupJob

Job findHistoryCleanupJob()
Finds history cleanup job if present.

Returns:
job entity

deleteHistoricProcessInstancesAsync

Batch deleteHistoricProcessInstancesAsync(List<String> processInstanceIds,
                                          String deleteReason)
Deletes historic process instances asynchronously. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.

Throws:
BadUserRequestException - when no process instances is found with the given ids or ids are null.
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION or no Permissions.CREATE permission on Resources.BATCH.

deleteHistoricProcessInstancesAsync

Batch deleteHistoricProcessInstancesAsync(HistoricProcessInstanceQuery query,
                                          String deleteReason)
Deletes historic process instances asynchronously based on query. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.

Throws:
BadUserRequestException - when no process instances is found with the given ids or ids are null.
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION or no Permissions.CREATE permission on Resources.BATCH.

deleteHistoricProcessInstancesAsync

Batch deleteHistoricProcessInstancesAsync(List<String> processInstanceIds,
                                          HistoricProcessInstanceQuery query,
                                          String deleteReason)
Deletes historic process instances asynchronously based on query and a list of process instances. Query result and list of ids will be merged. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.

Throws:
BadUserRequestException - when no process instances is found with the given ids or ids are null.
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION or no Permissions.CREATE permission on Resources.BATCH.

deleteUserOperationLogEntry

void deleteUserOperationLogEntry(String entryId)
Deletes a user operation log entry. Does not cascade to any related entities.

Throws:
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.

deleteHistoricCaseInstance

void deleteHistoricCaseInstance(String caseInstanceId)
Deletes historic case instance. All historic case activities, historic task and historic details are deleted as well.


deleteHistoricCaseInstancesBulk

void deleteHistoricCaseInstancesBulk(List<String> caseInstanceIds)
Deletes historic case instances and all related historic data in bulk manner. DELETE SQL statement will be created for each entity type. They will have list of given case instance ids in IN clause. Therefore, DB limitation for number of values in IN clause must be taken into account.

Parameters:
caseInstanceIds - list of case instance ids for removal

deleteHistoricDecisionInstance

@Deprecated
void deleteHistoricDecisionInstance(String decisionDefinitionId)
Deprecated. Note that this method name is not expressive enough, because it is also possible to delete the historic decision instance by the instance id. Therefore use deleteHistoricDecisionInstanceByDefinitionId(java.lang.String) instead to delete the historic decision instance by the definition id.

Deletes historic decision instances of a decision definition. All historic decision inputs and outputs are deleted as well.

Parameters:
decisionDefinitionId - the id of the decision definition
Throws:
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.DECISION_DEFINITION.

deleteHistoricDecisionInstancesBulk

void deleteHistoricDecisionInstancesBulk(List<String> decisionInstanceIds)
Deletes decision instances and all related historic data in bulk manner. DELETE SQL statement will be created for each entity type. They will have list of given decision instance ids in IN clause. Therefore, DB limitation for number of values in IN clause must be taken into account.

Parameters:
decisionInstanceIds - list of decision instance ids for removal.
Throws:
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.DECISION_DEFINITION.

deleteHistoricDecisionInstanceByDefinitionId

void deleteHistoricDecisionInstanceByDefinitionId(String decisionDefinitionId)
Deletes historic decision instances of a decision definition. All historic decision inputs and outputs are deleted as well.

Parameters:
decisionDefinitionId - the id of the decision definition
Throws:
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.DECISION_DEFINITION.

deleteHistoricDecisionInstanceByInstanceId

void deleteHistoricDecisionInstanceByInstanceId(String historicDecisionInstanceId)
Deletes historic decision instances by its id. All historic decision inputs and outputs are deleted as well.

Parameters:
historicDecisionInstanceId - the id of the historic decision instance
Throws:
AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.DECISION_DEFINITION.

createNativeHistoricProcessInstanceQuery

NativeHistoricProcessInstanceQuery createNativeHistoricProcessInstanceQuery()
creates a native query to search for HistoricProcessInstances via SQL


createNativeHistoricTaskInstanceQuery

NativeHistoricTaskInstanceQuery createNativeHistoricTaskInstanceQuery()
creates a native query to search for HistoricTaskInstances via SQL


createNativeHistoricActivityInstanceQuery

NativeHistoricActivityInstanceQuery createNativeHistoricActivityInstanceQuery()
creates a native query to search for HistoricActivityInstances via SQL


createNativeHistoricCaseInstanceQuery

NativeHistoricCaseInstanceQuery createNativeHistoricCaseInstanceQuery()
creates a native query to search for HistoricCaseInstances via SQL


createNativeHistoricCaseActivityInstanceQuery

NativeHistoricCaseActivityInstanceQuery createNativeHistoricCaseActivityInstanceQuery()
creates a native query to search for HistoricCaseActivityInstances via SQL


createNativeHistoricDecisionInstanceQuery

NativeHistoricDecisionInstanceQuery createNativeHistoricDecisionInstanceQuery()
creates a native query to search for HistoricDecisionInstances via SQL


createHistoricJobLogQuery

HistoricJobLogQuery createHistoricJobLogQuery()
Creates a new programmatic query to search for historic job logs.

Since:
7.3

getHistoricJobLogExceptionStacktrace

String getHistoricJobLogExceptionStacktrace(String historicJobLogId)
Returns the full stacktrace of the exception that occurs when the historic job log with the given id was last executed. Returns null when the historic job log has no exception stacktrace.

Parameters:
historicJobLogId - id of the historic job log, cannot be null.
Throws:
ProcessEngineException - when no historic job log exists with the given id.
AuthorizationException - If the user has no Permissions.READ_HISTORY permission on Resources.PROCESS_DEFINITION.
Since:
7.3

createHistoricProcessInstanceReport

HistoricProcessInstanceReport createHistoricProcessInstanceReport()
Creates a new programmatic query to create a historic process instance report.

Since:
7.5

createHistoricTaskInstanceReport

HistoricTaskInstanceReport createHistoricTaskInstanceReport()
Creates a new programmatic query to create a historic task instance report.

Since:
7.6

createCleanableHistoricProcessInstanceReport

CleanableHistoricProcessInstanceReport createCleanableHistoricProcessInstanceReport()
Creates a new programmatic query to create a cleanable historic process instance report.

Since:
7.8

createCleanableHistoricDecisionInstanceReport

CleanableHistoricDecisionInstanceReport createCleanableHistoricDecisionInstanceReport()
Creates a new programmatic query to create a cleanable historic decision instance report.

Since:
7.8

createCleanableHistoricCaseInstanceReport

CleanableHistoricCaseInstanceReport createCleanableHistoricCaseInstanceReport()
Creates a new programmatic query to create a cleanable historic case instance report.

Since:
7.8

createHistoricBatchQuery

HistoricBatchQuery createHistoricBatchQuery()
Creates a query to search for HistoricBatch instances.

Since:
7.5

deleteHistoricBatch

void deleteHistoricBatch(String id)
Deletes a historic batch instance. All corresponding historic job logs are deleted as well;

Throws:
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.BATCH
Since:
7.5

createHistoricDecisionInstanceStatisticsQuery

HistoricDecisionInstanceStatisticsQuery createHistoricDecisionInstanceStatisticsQuery(String decisionRequirementsDefinitionId)
Query for the statistics of DRD evaluation.

Parameters:
decisionRequirementsDefinitionId - - id of decision requirement definition
Since:
7.6

createHistoricExternalTaskLogQuery

HistoricExternalTaskLogQuery createHistoricExternalTaskLogQuery()
Creates a new programmatic query to search for historic external task logs.

Since:
7.7

getHistoricExternalTaskLogErrorDetails

String getHistoricExternalTaskLogErrorDetails(String historicExternalTaskLogId)
Returns the full error details that occurs when the historic external task log with the given id was last executed. Returns null when the historic external task log contains no error details.

Parameters:
historicExternalTaskLogId - id of the historic external task log, cannot be null.
Throws:
ProcessEngineException - when no historic external task log exists with the given id.
AuthorizationException - If the user has no Permissions.READ_HISTORY permission on Resources.PROCESS_DEFINITION.
Since:
7.7


Copyright © 2017 camunda services GmbH. All rights reserved.