org.jbpm.persistence.processinstance

## Class JPAProcessInstanceManager

- java.lang.Object
- - org.jbpm.persistence.processinstance.JPAProcessInstanceManager

- All Implemented Interfaces:
    ProcessInstanceManager

      public class JPAProcessInstanceManager
      extends Object
      implements ProcessInstanceManager

  This is an implementation of the `ProcessInstanceManager` that uses JPA. What's important to remember here is that we have a jbpm-console which has 1 static (stateful) knowledge session which is used by multiple threads: each request sent to the jbpm-console is picked up in it's own thread. This means that multiple threads can be using the same instance of this class.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JPAProcessInstanceManager()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addProcessInstance(org.kie.api.runtime.process.ProcessInstance processInstance, org.kie.internal.process.CorrelationKey correlationKey)`
    `void` | `clearProcessInstances()`
    `void` | `clearProcessInstancesState()`
    `protected org.jbpm.persistence.api.integration.InstanceView<org.kie.api.runtime.process.ProcessInstance>` | `getInstanceViewFor(org.kie.api.runtime.process.ProcessInstance pi)`
    `org.kie.api.runtime.process.ProcessInstance` | `getProcessInstance(org.kie.internal.process.CorrelationKey correlationKey)`
    `org.kie.api.runtime.process.ProcessInstance` | `getProcessInstance(long id)`
    `org.kie.api.runtime.process.ProcessInstance` | `getProcessInstance(long id, boolean readOnly)`
    `Collection<org.kie.api.runtime.process.ProcessInstance>` | `getProcessInstances()`
    `void` | `internalAddProcessInstance(org.kie.api.runtime.process.ProcessInstance processInstance)`
    `void` | `internalRemoveProcessInstance(org.kie.api.runtime.process.ProcessInstance processInstance)`
    `void` | `removeProcessInstance(org.kie.api.runtime.process.ProcessInstance processInstance)`
    `void` | `setKnowledgeRuntime(org.drools.core.common.InternalKnowledgeRuntime kruntime)`

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

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

- - ### Constructor Detail

    - #### JPAProcessInstanceManager

          public JPAProcessInstanceManager()

  - ### Method Detail

    - #### setKnowledgeRuntime

          public void setKnowledgeRuntime(org.drools.core.common.InternalKnowledgeRuntime kruntime)

    - #### addProcessInstance

          public void addProcessInstance(org.kie.api.runtime.process.ProcessInstance processInstance,
                                         org.kie.internal.process.CorrelationKey correlationKey)

      Specified by:
        `addProcessInstance` in interface `ProcessInstanceManager`

    - #### internalAddProcessInstance

          public void internalAddProcessInstance(org.kie.api.runtime.process.ProcessInstance processInstance)

      Specified by:
        `internalAddProcessInstance` in interface `ProcessInstanceManager`

    - #### getProcessInstance

          public org.kie.api.runtime.process.ProcessInstance getProcessInstance(long id)

      Specified by:
        `getProcessInstance` in interface `ProcessInstanceManager`

    - #### getProcessInstance

          public org.kie.api.runtime.process.ProcessInstance getProcessInstance(long id,
                                                                                boolean readOnly)

      Specified by:
        `getProcessInstance` in interface `ProcessInstanceManager`

    - #### getProcessInstances

          public Collection<org.kie.api.runtime.process.ProcessInstance> getProcessInstances()

      Specified by:
        `getProcessInstances` in interface `ProcessInstanceManager`

    - #### removeProcessInstance

          public void removeProcessInstance(org.kie.api.runtime.process.ProcessInstance processInstance)

      Specified by:
        `removeProcessInstance` in interface `ProcessInstanceManager`

    - #### internalRemoveProcessInstance

          public void internalRemoveProcessInstance(org.kie.api.runtime.process.ProcessInstance processInstance)

      Specified by:
        `internalRemoveProcessInstance` in interface `ProcessInstanceManager`

    - #### clearProcessInstances

          public void clearProcessInstances()

      Specified by:
        `clearProcessInstances` in interface `ProcessInstanceManager`

    - #### clearProcessInstancesState

          public void clearProcessInstancesState()

      Specified by:
        `clearProcessInstancesState` in interface `ProcessInstanceManager`

    - #### getProcessInstance

          public org.kie.api.runtime.process.ProcessInstance getProcessInstance(org.kie.internal.process.CorrelationKey correlationKey)

      Specified by:
        `getProcessInstance` in interface `ProcessInstanceManager`

    - #### getInstanceViewFor

          protected org.jbpm.persistence.api.integration.InstanceView<org.kie.api.runtime.process.ProcessInstance> getInstanceViewFor(org.kie.api.runtime.process.ProcessInstance pi)

Copyright © 2001–2021 JBoss by Red Hat. All rights reserved.