Each message queue defined in the iql_queues table must be mapped to its own DB2 database queue table.
When the iProcess Engine is installed, the init2Kdb2.sql script creates the default set of queue tables required by the system (see
Default Message Queues and Tables).
Each sw_db_bgqueue_n (where
n is
1 or
2) queue table holds messages intended for the background processes:
The sw_db_bgqueue_n table has the following structure:
TABLE sw_db_bgqueue_n (
rowid numeric(15) NOT NULL
GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, CACHE 50),
last_failed numeric(10) ,
failure_count integer NOT NULL,
msg_id varchar(16) FOR BIT DATA NOT
NULL,
msg_hdr varchar(500) ,
msg_data varchar(1000) NOT NULL
priority integer NOT NULL)
Each sw_db_bgqueue_n table contains one row for each enqueued message. Rows are added, updated and deleted in the following situations.
Each sw_db_wisqueue_n (where
n is
1 or
2) queue table holds messages intended for the Work Item Server Mbox daemon process:
The sw_db_wisqueue_n table has the following structure:
TABLE sw_db_wisqueue_n (
rowid numeric(15) NOT NULL
GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, CACHE 50),
last_failed numeric(10) ,
failure_count integer NOT NULL,
msg_id varchar(16) FOR BIT DATA NOT NULL,
msg_hdr varchar(500) ,
msg_data varchar(1000) NOT NULL
priority integer NOT NULL)
Each sw_db_wisqueue_n table contains one row for each enqueued message. Rows are added, updated and deleted in the following situations.
Each sw_db_predictqueue_n (where
n is
1 or
2) queue table holds messages intended for the background case prediction server processes:
The sw_db_predictqueue_n table has the following structure:
TABLE sw_db_predictqueue_n (
rowid numeric(15) NOT NULL
GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, CACHE 50),
last_failed numeric(10) ,
failure_count integer NOT NULL,
msg_id varchar(16) FOR BIT DATA NOT NULL,
msg_hdr varchar(500) ,
msg_data varchar(1000) NOT NULL
priority integer NOT NULL)
Each sw_db_predictqueue_n table contains one row for each enqueued message. Rows are added, updated and deleted in the following situations.
The sw_db_deadqueue table holds failed messages from the
sw_db_bgqueue_n,
sw_db_wisqueue_n and
sw_db_predictqueue_n tables.
The sw_db_deadqueue table has the following structure:
TABLE sw_db_deadqueue (
failed_by varchar(128) NOT NULL,
rowid numeric(15) NOT NULL
GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
last_failed numeric(10) ,
failure_count integer NOT NULL,
msg_id varchar(16) FOR BIT DATA NOT NULL,
msg_hdr varchar(500) NULL,
msg_data varchar(1000) NOT NULL
priority integer NOT NULL)
The sw_db_deadqueue table contains one row for each message that has exceeded its
IQL_RETRY_COUNT threshold value.