问题
I am using IBM Websphere and MQ in my application and now I wanted to know how I can configure (or) make Websphere understand that there is a dead letter queue say DEAD.QUEUE created in MQ and it should use this queue in case of any failure while processing the messages from Request/ Response queue.
I am trying to do this because there is a failed message in the queue which is trying to republish it to the queue again and again. If there is a dead letter queue configured then I guess this might get stopped. Correct me if I am wrong.
回答1:
You can set it either by using MQExplorer or MQSC command shell.
In MQExplorer right click (on the queue manager for which you want to set dead letter queue) and select Properties menu. Queue manager properties panel pops up. Click on "Extended" node on the left pane. On the right pane you can specify a queue name in "Dead Letter queue" edit box.
You can also set a DLQ using MQSC shell. Just run the following command which sets SYSTEM.DEAD.LETTER.QUEUE as the DLQ.
alter qmgr deadq(SYSTEM.DEAD.LETTER.QUEUE)
What MQ client are you using? JMS client or XMS .NET client? These clients have the capability to move messages to a backout or dead letter queue if a message is delivered repeatedly. The process of moving a message to a backout queue or DLQ depends on the BOTHRESH setting on a queue. To enable backout processing, set a value higher than 0.
来源:https://stackoverflow.com/questions/16785119/configuring-dead-letter-queue-in-websphere-mq