Chapter 13. Persistence and Transactions
13.1. Process Instance State
13.1.1. Runtime State
13.1.2. Binary Persistence
- JBoss BPM Suite transforms the process instance information into binary data. Custom serialization is used instead of Java serialization for performance reasons.
- The binary data is stored together with other process instance metadata, such as process instance ID, process ID, and the process start date.
ksession.getId() to get session ID.
13.1.3. Data Model Description

Figure 13.1. Data Model
sessioninfo entity contains the state of the (knowledge) session in which the process instance is running.
Table 13.1. SessionInfo
| Field | Description | Nullable |
|---|---|---|
| id | The primary key. | NOT NULL |
| lastmodificationdate | The last time that the entity was saved to a database. | |
| rulesbytearray | State of a session. | NOT NULL |
| startdate | The start time of a session. | |
| optlock | Version field containing a lock value. |
processinstanceinfo entity contains the state of the process instance.
Table 13.2. ProcessInstanceInfo
| Field | Description | Nullable |
|---|---|---|
| instanceid | The primary key. | NOT NULL |
| lastmodificationdate | The last time that the entity was saved to a database. | |
| lastreaddate | Contains the last time that the entity was retrieved from the database. | |
| processid | The ID of the process. | |
| processinstancebytearray | State of a process instance in form of a binary dataset. | NOT NULL |
| startdate | The start time of the process. | |
| state | An integer representing the state of a process instance. | NOT NULL |
| optlock | Version field containing a lock value. |
eventtypes entity contains information about events that a process instance will undergo or has undergone.
Table 13.3. EventTypes
| Field | Description | Nullable |
|---|---|---|
| instanceid | Reference to the processinstanceinfo primary key, and foreign key constraint on this column. | NOT NULL |
| element | A finished event in the process. |
workiteminfo entity contains the state of a work item.
Table 13.4. WorkItemInfo
| Field | Description | Nullable |
|---|---|---|
| workitemid | The primary key. | NOT NULL |
| name | The name of the work item. | |
| processinstanceid | The (primary key) ID of the process. There is no foreign key constraint on this field. | NOT NULL |
| state | The state of a work item. | NOT NULL |
| optlock | Version field containing a lock value. | |
| workitembytearay | Tthe state of a work item in form of a binary dataset. | NOT NULL |
CorrelationKeyInfo entity contains information about correlation keys assigned to the given process instance - loose relationship as this table is considered optional. Use it only when you require correlation capabilities.
Table 13.5. CorrelationKeyInfo
| Field | Description | Nullable |
|---|---|---|
| keyid | The primary key. | NOT NULL |
| name | Assigned name of the correlation key. | |
| processinstanceid | The id of the process instance which is assigned to the correlation key. | NOT NULL |
| optlock | Version field containing a lock value. |
CorrelationPropertyInfo entity contains information about correlation properties for a correlation key assigned the process instance.
Table 13.6. CorrelationPropertyInfo
| Field | Description | Nullable |
|---|---|---|
| propertyid | The primary key. | NOT NULL |
| name | The name of the property. | |
| value | The value of the property. | NOT NULL |
| optlock | Version field containing a lock value. | |
| correlationKey-keyid | A foreign key to map to the correlation key. | NOT NULL |
ContextMappingInfo entity contains information about the contextual information mapped to a Ksession. This is an internal part of RuntimeManager and can be considered optional when RuntimeManager is not used.
Table 13.7. ContextMappingInfo
| Field | Description | Nullable |
|---|---|---|
| mappingid | The primary key. | NOT NULL |
| context_id | Identifier of the context. | NOT NULL |
| ksession_id | Identifier of a Ksession. | NOT NULL |
| optlock | Version field containing a lock value. |

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.