Restore Dead Messages to a Queue

To restore one or more dead iProcess messages to the queue from which they came, and make the messages live again, use the following command:

swadm restore_dead_messages to_queue_id ALL [BG|WISMBD|BGPREDICT]|message_id|-f file_name

where:

to_queue_id is the queue identifier of the destination queue, the queue to which you want to restore messages.
The usage of the parameter ALL [BG|WISMBD|BGPREDICT] varies according to database type:
In SQL Server, there is a specific dead queue that holds all the dead messages that have been failed from any of the live queues. Messages in this dead queue have a unique additional field, called FAILED_BY, which identifies the type of queue from which the dead message comes. This field has one of three values:
BG: the dead message comes from a BG queue
WISMBD: the dead message comes from a WISMBD queue
BGPREDICT: the dead message comes from a BGPREDICT queue

Because there is more than one BG, WIS, or BGPREDICT queue in the system, you must tell this command what type of dead message you want to move from the dead queue (one of BG, WIS, or BGPREDICT), and the number of the live queue to which the message is to be restored. For example, the command:

RESTORE_DEAD_MESSAGES 1 ALL BG

moves all dead messages failed from the BG queue from the dead queue to queue 1.

In DB2 usage is similar because the DB2 version has the same database structure as SQL Server, but there is one difference. The FAILED_BY field contains the name of the actual queue from which the dead message was failed, instead of a queue type. Neither this queue name nor the queue type needs to be specified in the command line. For example, the command:

RESTORE_DEAD_MESSAGES 1 ALL

moves all the dead messages failed by queue 1 from the dead queue to queue 1.

In Oracle, there is no specific dead queue. If a message in any given queue is failed, it is stored in that same queue and is just marked as a dead message. This command, therefore, does not move messages from one queue to another, it merely changes them from dead messages to live messages within the same queue. It is therefore only necessary to specify in the command which queue you want to restore. For example, the command:

RESTORE_DEAD_MESSAGES 1 ALL

restores all the dead messages in queue 1 to being live messages in queue 1.

message_id specifies the ID of the message that you want to restore. The following example restores an exception message to queue 1:

swadm restore_dead_messages 1 291E84BA-A898-4D6A-A812-A76BE108B21D

-f file_name identifies a text file that contains one or more message IDs, separated from each other by a return character. If the beginning of a line has a semi-colon (;) character, that line is treated as a comment and all the content in the line is omitted.