Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-13604

Listener for History Cleanup Removal Time

XMLWordPrintable

      User Story (Required on creation):

      I can configure a listener which is notified when the removal time of one of the following entities is due:

      • Historic Process Instance
      • Historic Decision Instance
      • Historic Case Instance
      • Historic Batch

      Functional Requirements (Required before implementation):

      • In the BPMN/DMN/CMMN Model, I can define a Java class via the property camunda:historyRemovalTimeListener; for batches, I can register the listener in the process engine configuration
      • The user-provided Java class must implement the interface HistoryRemovalTimeListener
      • When the removal time is due, HistoryRemovalTimeListener#notify is called and the to be removed entity type (process, decision, case, batch) and id is passed
      • Changing the removal time via batch operation is supported

      Technical Requirements (Required before implementation):

      • When the removal time is set (instance start or end time), a job is created with removal time as the due date
        • This is to avoid adding more logic to the cleanup job execution which could potentially degrade the performance
          • Performance is an important non-functional requirement of the removal time based history cleanup strategy
      • All data that should be passed into HistoryRemovalTimeListener#notify is stored in the job since the listener could be called after the cleanup job run and the related historical data has already been cleaned up (historic entity cannot be queried anymore)

      Limitations of Scope (Optional):

      Start small by implementing this feature only for processes.

      Hints (Optional):

      Original description

      After reaching the process' Time To Live, the process is cleared from Camunda's database. But the business data that I needed to get out (and which also doesn't interest me anymore), I'd like to delete it along with TTL. So I thought a good way to do this would be to create the possibility to configure Listeners tied to TTL.

        This is the controller panel for Smart Panels app

              Unassigned Unassigned
              rodrigocarlstrom Rodrigo Carlstrom
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: