ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General Discussion » Dead Letter Queue

Post new topic  Reply to topic
 Dead Letter Queue « View previous topic :: View next topic » 
Author Message
velocity
PostPosted: Thu Dec 13, 2007 6:57 am    Post subject: Dead Letter Queue Reply with quote

Centurion

Joined: 30 Nov 2007
Posts: 126

Hi Guys,

I have some messages in the DLQ. I want to know what the reason code was for each of the messages...Is there any way to know it??

And, for clearing the local queue do we have to stop the QMGR??..I think the QMGR has an handle open with the DLQ all the time! OR can runmqdlq be helpful??

Rgds!
Back to top
View user's profile Send private message
bower5932
PostPosted: Thu Dec 13, 2007 7:09 am    Post subject: Re: Dead Letter Queue Reply with quote

Jedi Knight

Joined: 27 Aug 2001
Posts: 3023
Location: Dallas, TX, USA

You can't issue the clear queue command if somebody has the queue open. You don't need to shut down the qmgr. You can use the explorer and use the option to clear the queue by getting the messages. However, a better question to ask is why are you trying to clear a queue that somebody has open.

Last edited by bower5932 on Thu Dec 13, 2007 7:15 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
Vitor
PostPosted: Thu Dec 13, 2007 7:13 am    Post subject: Re: Dead Letter Queue Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

velocity wrote:
I have some messages in the DLQ. I want to know what the reason code was for each of the messages...Is there any way to know it??


It's recorded in the dead letter header on the front of each of the messages in the DLQ.

velocity wrote:
runmqdlq be helpful??


Now what would make you think the dead letter handler programme supplied with the software could be any use in handling the dead letter queue?

*anti-sarcasm sprinkers go off*

Given that you've not determined why these are dead lettered (because I've just told you where the code is) isn't clearing it a little premature?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
velocity
PostPosted: Thu Dec 13, 2007 7:15 am    Post subject: Reply with quote

Centurion

Joined: 30 Nov 2007
Posts: 126

1) I cannot use MQ explorer since I am using HP-UX. Is there an alternate option to clear the queue?

2)The messages in the DLQ were pretty old and I just wanted them to be cleared.

Can you also try and answer my first question? "How will I find the reason why the messages have landed in the DLQ"?
Back to top
View user's profile Send private message
bower5932
PostPosted: Thu Dec 13, 2007 7:18 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Aug 2001
Posts: 3023
Location: Dallas, TX, USA

You could use the MQExplorer on a separate machine and connect in remotely. You could also write a small 'amqsget' program to clear a queue.

Vitor gave information on how to get the code out of the header.

Are you sure that runmqdlq has the queue open? You might want to use the qstatus command to find out who has it open.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
velocity
PostPosted: Thu Dec 13, 2007 7:23 am    Post subject: Reply with quote

Centurion

Joined: 30 Nov 2007
Posts: 126

You are right Vitor! But then I want to clear the messages because the messages were pretty old.(We were planning to test something...So it was not that big of a deal .

However, I think " If MQ can convey a reason code to the application then DLQ is not used"

I will check for the reason code too when I get a chance, but the last time I saw there was none.


echo "inputqm('$mqmgr') inputq('$dlq_name') wait(no)
action(discard)" | runmqdlq

This is the command line script that will finally clear the queue! I guess..
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Dec 13, 2007 8:12 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

velocity wrote:
However, I think " If MQ can convey a reason code to the application then DLQ is not used"


DLQ is used where a message is undeliverable. Because it can't be delivered, no application can be involved because applications use queues.

Your statement applies to a message being put to a queue by an application, or being read from a queue by an application. In both cases the queue has been identified by the queue manager and the DLQ does not apply.

velocity wrote:
I will check for the reason code too when I get a chance, but the last time I saw there was none.


Reason code is a mandatory field in the DLH. Each will have one.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General Discussion » Dead Letter Queue
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.