Package org.jbpm.process.audit

## Class JPAWorkingMemoryDbLogger

- java.lang.Object
- - org.jbpm.process.audit.AbstractAuditLogger
  - - org.jbpm.process.audit.AbstractAuditLoggerAdapter
    - - org.jbpm.process.audit.JPAWorkingMemoryDbLogger

- All Implemented Interfaces:
    `EventListener`, `AuditLoggerArchiveTreat`, `org.kie.api.event.process.ProcessEventListener`

      public class JPAWorkingMemoryDbLogger
      extends AbstractAuditLoggerAdapter
      implements AuditLoggerArchiveTreat

  Enables history log via JPA.

- - ### Field Summary

    - ### Fields inherited from class org.jbpm.process.audit.AbstractAuditLoggerAdapter

      `METADATA_NODEINSTANCE_LOG, METADATA_PROCESSINTANCE_LOG, METADATA_VARIABLEINSTANCE_LOG`

    - ### Fields inherited from class org.jbpm.process.audit.AbstractAuditLogger

      `AFTER_COMPLETE_EVENT_TYPE, AFTER_NODE_ENTER_EVENT_TYPE, AFTER_NODE_LEFT_EVENT_TYPE, AFTER_START_EVENT_TYPE, AFTER_VAR_CHANGE_EVENT_TYPE, BEFORE_COMPLETE_EVENT_TYPE, BEFORE_NODE_ENTER_EVENT_TYPE, BEFORE_NODE_LEFT_EVENT_TYPE, BEFORE_START_EVENT_TYPE, BEFORE_VAR_CHANGE_EVENT_TYPE, builder, ON_ASYNC_NODE_EVENT_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JPAWorkingMemoryDbLogger()` |
    `JPAWorkingMemoryDbLogger​(javax.persistence.EntityManagerFactory emf)` |
    `JPAWorkingMemoryDbLogger​(javax.persistence.EntityManagerFactory emf, org.kie.api.runtime.Environment env)` |
    `JPAWorkingMemoryDbLogger​(org.drools.core.WorkingMemory workingMemory)` |
    `JPAWorkingMemoryDbLogger​(org.kie.api.runtime.Environment env)` |
    `JPAWorkingMemoryDbLogger​(org.kie.api.runtime.KieSession session)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `beforeProcessCompleted​(org.kie.api.event.process.ProcessCompletedEvent event)` |
    `void` | `dispose()` |
    `protected static UserTransaction` | `findUserTransaction()` |
    `protected javax.persistence.EntityManager` | `getEntityManagerFromTransaction​(org.kie.api.runtime.Environment env)` |
    `protected void` | `nodeEnter​(org.kie.api.event.process.ProcessNodeTriggeredEvent event)` |
    `protected void` | `nodeLeft​(org.kie.api.event.process.ProcessNodeLeftEvent event)` |
    `protected void` | `nodeScheduled​(org.kie.api.event.process.ProcessAsyncNodeScheduledEvent event)` |
    `protected void` | `processCompleted​(org.kie.api.event.process.ProcessCompletedEvent event)` |
    `protected void` | `processStarted​(org.kie.api.event.process.ProcessStartedEvent event)` |
    `protected void` | `slaNodeInstanceViolated​(org.kie.api.event.process.SLAViolatedEvent event)` |
    `protected void` | `slaProcessInstanceViolated​(org.kie.api.event.process.SLAViolatedEvent event)` |
    `protected void` | `variableChanged​(org.kie.api.event.process.ProcessVariableChangedEvent event)` |

    - ### Methods inherited from class org.jbpm.process.audit.AbstractAuditLoggerAdapter

      `afterNodeLeft, afterNodeTriggered, afterProcessCompleted, afterProcessStarted, afterSLAViolated, afterVariableChanged, beforeNodeLeft, beforeNodeTriggered, beforeProcessStarted, beforeVariableChanged, getNodeInstanceMetadata, getProcessInstanceMetadata, onAsyncNodeScheduledEvent, setNodeInstanceMetadata, setProcessInstanceMetadata`

    - ### Methods inherited from class org.jbpm.process.audit.AbstractAuditLogger

      `getBuilder, setBuilder`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.jbpm.process.audit.AuditLoggerArchiveTreat

      `initArchiveLoggerProvider`

    - ### Methods inherited from interface org.kie.api.event.process.ProcessEventListener

      `beforeSLAViolated, onMessage, onSignal`

- - ### Constructor Detail

    - #### JPAWorkingMemoryDbLogger

          public JPAWorkingMemoryDbLogger​(org.drools.core.WorkingMemory workingMemory)

    - #### JPAWorkingMemoryDbLogger

          public JPAWorkingMemoryDbLogger​(org.kie.api.runtime.KieSession session)

    - #### JPAWorkingMemoryDbLogger

          public JPAWorkingMemoryDbLogger​(javax.persistence.EntityManagerFactory emf)

    - #### JPAWorkingMemoryDbLogger

          public JPAWorkingMemoryDbLogger()

    - #### JPAWorkingMemoryDbLogger

          public JPAWorkingMemoryDbLogger​(javax.persistence.EntityManagerFactory emf,
                                          org.kie.api.runtime.Environment env)

    - #### JPAWorkingMemoryDbLogger

          public JPAWorkingMemoryDbLogger​(org.kie.api.runtime.Environment env)

  - ### Method Detail

    - #### nodeEnter

          protected void nodeEnter​(org.kie.api.event.process.ProcessNodeTriggeredEvent event)

      Specified by:
        `nodeEnter` in class `AbstractAuditLoggerAdapter`

    - #### nodeScheduled

          protected void nodeScheduled​(org.kie.api.event.process.ProcessAsyncNodeScheduledEvent event)

      Specified by:
        `nodeScheduled` in class `AbstractAuditLoggerAdapter`

    - #### nodeLeft

          protected void nodeLeft​(org.kie.api.event.process.ProcessNodeLeftEvent event)

      Specified by:
        `nodeLeft` in class `AbstractAuditLoggerAdapter`

    - #### variableChanged

          protected void variableChanged​(org.kie.api.event.process.ProcessVariableChangedEvent event)

      Specified by:
        `variableChanged` in class `AbstractAuditLoggerAdapter`

    - #### processStarted

          protected void processStarted​(org.kie.api.event.process.ProcessStartedEvent event)

      Specified by:
        `processStarted` in class `AbstractAuditLoggerAdapter`

    - #### processCompleted

          protected void processCompleted​(org.kie.api.event.process.ProcessCompletedEvent event)

      Specified by:
        `processCompleted` in class `AbstractAuditLoggerAdapter`

    - #### slaProcessInstanceViolated

          protected void slaProcessInstanceViolated​(org.kie.api.event.process.SLAViolatedEvent event)

      Specified by:
        `slaProcessInstanceViolated` in class `AbstractAuditLoggerAdapter`

    - #### slaNodeInstanceViolated

          protected void slaNodeInstanceViolated​(org.kie.api.event.process.SLAViolatedEvent event)

      Specified by:
        `slaNodeInstanceViolated` in class `AbstractAuditLoggerAdapter`

    - #### beforeProcessCompleted

          public void beforeProcessCompleted​(org.kie.api.event.process.ProcessCompletedEvent event)

      Specified by:
        `beforeProcessCompleted` in interface `org.kie.api.event.process.ProcessEventListener`
      Overrides:
        `beforeProcessCompleted` in class `AbstractAuditLoggerAdapter`

    - #### dispose

          public void dispose()

    - #### getEntityManagerFromTransaction

          protected javax.persistence.EntityManager getEntityManagerFromTransaction​(org.kie.api.runtime.Environment env)

    - #### findUserTransaction

          protected static UserTransaction findUserTransaction()