Poison Message Detection for avoiding corrupt MQ messages

Poison Message Detection for avoiding corrupt MQ messages

book

Article ID: KB0071676

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks Plug-in for IBM MQ 7.7.3, 7.8.0

Description

How to use and test the Poison message detection feature for IBM MQ listener activity. 
Attached is an MQ message which is not processable by using the normal text content type by the MQ listener activity. Testing this message results in any of the following errors -
"IOError processing a corrupt message! This message cannot be processed but has been removed from the queue! Use Explicit Commit to avoid this in the future." Or 
"IOError extracting the message body contents; possible incorrect character set"
 

Issue/Introduction

To avoid errors like "IOError processing a corrupt message! This message cannot be processed but has been removed from the queue! Use Explicit Commit to avoid this in the future." Or "IOError extracting the message body contents; possible incorrect character set"

Resolution

To process such messages, poison message detection is introduced. This feature just moves such messages to another queue where those can be fixed and processed later.
To test this feature 
1. Load the attached MQ message in any of the MQ queues by using the command-
dmpmqmsg -m QMName -o QName -f GLOSSPB.TO.PATH_1st
2. In the designer, turn the "Require Client Confirmation" on in the Configuration tab of the MQ listener. 
3. In the Multimessage tab, turn the Poison Msg Detection on and give Msg threshold depending on the requirement and the Queue name to which these messages are to be moved.
4. Test the process. The corrupt message is now moved to the Queue name specified and no error is observed in the normal processing.

Attachments

Poison Message Detection for avoiding corrupt MQ messages get_app