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 IBM MQ Support » DLQ Handler on windows

Post new topic  Reply to topic
 DLQ Handler on windows « View previous topic :: View next topic » 
Author Message
manishpaltanwale
PostPosted: Mon Apr 28, 2014 6:19 am    Post subject: DLQ Handler on windows Reply with quote

Newbie

Joined: 20 Mar 2014
Posts: 5

Can someone please tell me what is wrong in the steps which I am following on windows for DLQ Handler

1) crtmqm DLQ1
2) strmqm DLQ1
3) dspmq
4) runmqsc DLQ1
5) DEFINE QR('QR1') RNAME('QL2') RQMNAME('DLQ2') XMITQ('DLQ2')
6) define channel('DLQ1.DLQ2') CHLTYPE(SDR) CONNAME('LOCALHOST(1500)') XMITQ('DLQ2') TRPTYPE(TCP)
7) DEFINE QLOCAL('DLQ2') USAGE(XMITQ)

END
9) CRTMQM DLQ2
10) STRMQM DLQ2
11) DSPMQ
12) RUNMQSC DLQ2
13) DEFINE CHANNEL('DLQ1.DLQ2') CHLTYPE(RCVR) TRPTYPE(TCP)

14) DEFINE QLOCAL('QL2')
15) DEFINE LISTENER('LIS') TRPTYPE(TCP) PORT(1500)

16) ALTER QMGR DEADQ('SYSTEM.DEAD.LETTER.QUEUE')
17) ALTER QL('SYSTEM.DEAD.LETTER.QUEUE') TRIGGER TRIGTYPE(EVERY) PROCESS('TEST') INITQ('SYSTEM.DEFAULT.INITIATION.QUEUE')
1 DEFINE PROCESS('TEST') APPLICID('C:\dlq_test\Trigg.bat') APPLTYPE(WINDOWS)
19) end
20) create directory c:\dlq_test
21) inside this directory create Trigg.bat
22) Contents of Trigg.bat

cd "c:\Program Files (X86)\IBM\Websphere MQ\bin"
runmqdlq < C:\dlq_test\RULES.txt
23) create RULES.txt

INPUTQ('SYSTEM.DEAD.LETTER.QUEUE') INPUTQM('DLQ2') RETRYINT(5) WAIT(YES) REASON(MQRC_Q_FULL) ACTION(RETRY) RETRY(5)

24) runmqsc DLQ2
25) alter ql(QL2) maxdepth(4)
26) start listener(LIS)
27) start the trigeer monitor in another command window as follows:

runmqtrm -m DLQ2 -q SYSTEM.DEAD.LETTER.QUEUE

2 NOW PUT THE MESSAGES
amqsput QR1 DLQ1
29) get the messages
amqsget QL2 DLQ2

30) now check the depths of all the queues
31) I am able to see 8 messages on remote queue but no messages on dead letter queue.
Back to top
View user's profile Send private message
PaulClarke
PostPosted: Mon Apr 28, 2014 8:05 am    Post subject: Reply with quote

Grand Master

Joined: 17 Nov 2005
Posts: 1002
Location: New Zealand

Is that a typo in your explanation or did you really issue the command

Quote:
runmqtrm -m DLQ2 -q SYSTEM.DEAD.LETTER.QUEUE


You don't want the trigger monitor processing your DLQ.

Cheers,
Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
manishpaltanwale
PostPosted: Mon Apr 28, 2014 8:09 am    Post subject: Reply with quote

Newbie

Joined: 20 Mar 2014
Posts: 5

I issues the command in separate command window
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Apr 28, 2014 8:12 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

PaulClarke wrote:
Is that a typo in your explanation or did you really issue the command

Quote:
runmqtrm -m DLQ2 -q SYSTEM.DEAD.LETTER.QUEUE


You don't want the trigger monitor processing your DLQ.

Cheers,
Paul.


According to his setup that should be the INIT q defined on the DLQ...
Also having a triggered DLQ makes no sense when the rules file contains WAIT(YES)...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
PaulClarke
PostPosted: Mon Apr 28, 2014 8:23 am    Post subject: Reply with quote

Grand Master

Joined: 17 Nov 2005
Posts: 1002
Location: New Zealand

Indeed, a trigger monitor should only ever be told to process initiation queues.

As for triggering the DLQ handler I'm not totally certain whether it supports it but it doesn't seem like a bad idea if it does. Someone has to start the DLQ handler initially and restart it if it crashes, it may as well be the trigger monitor.

Cheers,
Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
zpat
PostPosted: Mon Apr 28, 2014 8:31 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

I have the DLQ handler defined as a QM service that starts with the QM.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
PaulClarke
PostPosted: Mon Apr 28, 2014 9:09 am    Post subject: Reply with quote

Grand Master

Joined: 17 Nov 2005
Posts: 1002
Location: New Zealand

That works too I'm sure. The downside though is that you have a DLQ handler running all day everyday regardless of whether anyone actually puts a message to the DLQ.

As I said, I don't actually know whether the DLQ handler supports being triggered but it seems a prime candidate to me. The whole point of triggering is that it alleviates the need to have programs running all day which are only rarely needed.

Cheers,
P.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
Vitor
PostPosted: Mon Apr 28, 2014 10:22 am    Post subject: Reply with quote

Grand High Poobah

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

PaulClarke wrote:
As I said, I don't actually know whether the DLQ handler supports being triggered


It does.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
zpat
PostPosted: Mon Apr 28, 2014 10:36 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

I guess it's only sitting in a MQGET WAIT, much like a trigger monitor.

The problem with trigger on a DLQ, is that if the DLQ handler does not clear the queue (and the rules may not cover all eventualities) then it won't re-trigger.

Seems better to use the DLQ handler option to re-scan the queue at intervals.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
manishpaltanwale
PostPosted: Wed Apr 30, 2014 7:30 pm    Post subject: Reply with quote

Newbie

Joined: 20 Mar 2014
Posts: 5

Hi Paul,

That was not a typo.I did execute the command.Can you please let me know what's the problem.

Thanks!!
Back to top
View user's profile Send private message
PaulClarke
PostPosted: Wed Apr 30, 2014 9:25 pm    Post subject: Reply with quote

Grand Master

Joined: 17 Nov 2005
Posts: 1002
Location: New Zealand

Well, as I said before a trigger monitor should be passed the name of an initiation queue, not a dead letter queue. The purpose of a trigger monitor is to read an initiation queue and start processes to consume the application processes. If you give a trigger monitor a dead letter queue to process then I would imagine it would either

  • Put the message to the DLQ because it is a badly formed trigger message - this would cause an infinite busy loop
  • Just discard the 'badly' formed trigger message

Either way it is unlikely to end well.

May I suggest you have a read in the MQ manuals about triggering and how it works.

Regards,
Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » DLQ Handler on windows
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.