Events and persistent queue
The persistent queue is used by different nevisIDM modules such as batch jobs or the printing module. The persistent queue is stored on the database and, as a result, its entries survive crashes of nevisIDM or its server, and may also be processed in parallel if there is more than one nevisIDM application using the same nevisIDM database. Moreover, the processing of the queue entries is done asynchronously by separate worker threads so that the main application is not interrupted by them and can focus on user interactions.
With appropriate rights, it is possible to delete failed elements from the queue.
Database table TIDMA_PERSIST_QUEUE
DB attribute | Java data type (max. size), defaults | Description |
---|---|---|
client_id | Long, nullable | The ID of the enqueuer's client. Foreign key that links to information in the table TIDMA_CLIENT. |
data1 | CLOB, nullable | Generic data field |
data2 | String(4000), nullable | Generic data field |
data3 | String(4000), nullable | Generic data field |
event_id | String(2048), not NULL | |
item_id | Long, not NULL | Primary key (uniquely identifies each individual DB entry) |
job_name | String(2048), nullable | |
schedule_date | Date, nullable | The Date the event has to be scheduled for. |
state | Integer, not NULL | |
target_client_id | Long, nullable | ID of the target's client or null if the target does not belong to any specific client or belongs to more clients. Foreign key that links to information in the table TIDMA_CLIENT. |
timestamp | Long, not NULL | |
type | Integer, not NULL | |
user_id | String(2048), not NULL | User ID of enqueuer |