Author |
Message
|
kevinf2349 |
Posted: Mon Dec 18, 2006 12:36 pm Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
I didn't think the original intent was to run the DLQ handler. I thought it was to simply to send an email?
Scope creep will kill ya!
I suspect that you have already come to the conclusion that you can email, or you can run the DLQ handler, not both unless you terminate the DLQ handler.
Now you could run the DLQ handler to put the messages into other queues and trigger those to send an email, but then you are really getting into a Rube Goldberg situation where you may really want to consider a monitor.
Just what are the real requirements? |
|
Back to top |
|
 |
hkhan12 |
Posted: Mon Dec 18, 2006 12:49 pm Post subject: |
|
|
Voyager
Joined: 08 Aug 2002 Posts: 98
|
Hi Kevin,
I don't think I mentioned that I'm running DLQ Handler. I still stickt to my original plan i.e. trigger my DLQ which is SYSTEM.DEAD.LETTER.QUEUE.
So, once I'm able to trigger my DLQ, my process DLQPROCESS will run my shell script which will send an email.
Here is my current setting of SYSTEM.DEAD.LETTER.QUEUEU & DLQPROCESS, and my new Initiation Queue i.e. DLQINITQ.
DIS QL(SYSTEM.DEAD.LETTER.QUEUE)
7 : DIS QL(SYSTEM.DEAD.LETTER.QUEUE)
AMQ8409: Display Queue details.
DESCR(WebSphere MQ Default Dead Letter Queue)
PROCESS(DLQPROCESS) BOQNAME( )
INITQ(DLQINITQ) TRIGDATA( )
CLUSTER( ) CLUSNL( )
QUEUE(SYSTEM.DEAD.LETTER.QUEUE) CRDATE(2006-09-22)
CRTIME(16.23.10) ALTDATE(2006-12-1
ALTTIME(14.06.36) GET(ENABLED)
PUT(ENABLED) DEFPRTY(0)
DEFPSIST(NO) MAXDEPTH(999999999)
MAXMSGL(4194304) BOTHRESH(0)
SHARE DEFSOPT(SHARED)
HARDENBO MSGDLVSQ(PRIORITY)
RETINTVL(999999999) USAGE(NORMAL)
TRIGGER TRIGTYPE(FIRST)
TRIGDPTH(1) TRIGMPRI(0)
QDEPTHHI(80) QDEPTHLO(20)
QDPMAXEV(ENABLED) QDPHIEV(DISABLED)
QDPLOEV(DISABLED) QSVCINT(999999999)
QSVCIEV(NONE) DISTL(NO)
NPMCLASS(NORMAL) DEFTYPE(PREDEFINED)
TYPE(QLOCAL) SCOPE(QMGR)
DEFBIND(OPEN) IPPROCS(0)
OPPROCS(0) CURDEPTH(0)
My Process details
DIS PROCESS(DLQPROCESS)
8 : DIS PROCESS(DLQPROCESS)
AMQ8407: Display Process details.
DESCR( )
APPLICID(/export/home/mqm/admin/scripts/CheckDLQDepth/CheckDLQDepth.sh)
USERDATA( ) ENVRDATA(&)
PROCESS(DLQPROCESS) ALTDATE(2006-12-1
ALTTIME(10.53.07) APPLTYPE(UNIX)
My Initiation Queue details
DIS QL(DLQINITQ)
9 : DIS QL(DLQINITQ)
AMQ8409: Display Queue details.
DESCR(WebSphere MQ Channel Initiation Queue)
PROCESS( ) BOQNAME( )
INITQ( ) TRIGDATA( )
CLUSTER( ) CLUSNL( )
QUEUE(DLQINITQ) CRDATE(2006-12-1
CRTIME(14.04.56) ALTDATE(2006-12-1
ALTTIME(14.04.56) GET(ENABLED)
PUT(ENABLED) DEFPRTY(0)
DEFPSIST(NO) MAXDEPTH(1000)
MAXMSGL(2000) BOTHRESH(0)
NOSHARE DEFSOPT(EXCL)
HARDENBO MSGDLVSQ(PRIORITY)
RETINTVL(999999999) USAGE(NORMAL)
NOTRIGGER TRIGTYPE(NONE)
TRIGDPTH(1) TRIGMPRI(0)
QDEPTHHI(80) QDEPTHLO(20)
QDPMAXEV(ENABLED) QDPHIEV(DISABLED)
QDPLOEV(DISABLED) QSVCINT(999999999)
QSVCIEV(NONE) DISTL(NO)
NPMCLASS(NORMAL) DEFTYPE(PREDEFINED)
TYPE(QLOCAL) SCOPE(QMGR)
DEFBIND(OPEN) IPPROCS(0)
OPPROCS(0) CURDEPTH(0) |
|
Back to top |
|
 |
SAFraser |
Posted: Mon Dec 18, 2006 12:52 pm Post subject: |
|
|
 Shaman
Joined: 22 Oct 2003 Posts: 742 Location: Austin, Texas, USA
|
Kevin, the excerpt I posted related to the trigger monitor, not the dead letter handler. I didn't know that runmqtrm kept the DLQ open until I read about it a few minutes ago.
I don't think hkhan wants to run the dead letter handler. |
|
Back to top |
|
 |
hkhan12 |
Posted: Mon Dec 18, 2006 12:55 pm Post subject: |
|
|
Voyager
Joined: 08 Aug 2002 Posts: 98
|
I don't want to run the DLQ Handler at the moment. Right now all I want is to trigger my SYSTEM.DEAD.LETTER.QUEUE and then my process can send an email. I have tested my shell script and it is working just fine if it run alone. |
|
Back to top |
|
 |
kevinf2349 |
Posted: Mon Dec 18, 2006 12:59 pm Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
SAFraser wrote: |
I didn't know that runmqtrm kept the DLQ open until I read about it a few minutes ago. |
AFAIK it doesn't.....unless it actually writes a dead letter message itself.
What chapter of the admin manual are you reading? |
|
Back to top |
|
 |
SAFraser |
Posted: Mon Dec 18, 2006 1:22 pm Post subject: |
|
|
 Shaman
Joined: 22 Oct 2003 Posts: 742 Location: Austin, Texas, USA
|
|
Back to top |
|
 |
kevinf2349 |
Posted: Mon Dec 18, 2006 1:31 pm Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
Hmmmm
It isn't worded like that in the 5.3 manuals and I have just tried it on 6.0 on Windows and the DLQ is not being opened when I run RUNMQTRM. Interesting
Maybe someone from IBM can throw light on this?
I have to say I am still inclined to believe they mean if it writes to the DLQ it keeps it open, but a definitive answer from IBM would be nice.  |
|
Back to top |
|
 |
wschutz |
Posted: Mon Dec 18, 2006 2:05 pm Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Sure it does (runmqtrm) when it PUTs a messages on the DLQ.... but that should be for output only, which doesn't play into triggering.
Of course, the listing that hkhan12 posted above shows a curdepth of zero on the DLQ , so I wouldn't expect anything to happen. And the initq has an IPPROCS of zero, so no trigMon is watching it. _________________ -wayne |
|
Back to top |
|
 |
hkhan12 |
Posted: Mon Dec 18, 2006 2:50 pm Post subject: |
|
|
Voyager
Joined: 08 Aug 2002 Posts: 98
|
Hi All,
Thank you so much for all your input and help.
At last, my DLQ is triggering and my shell script is sending an email properly. It was my fault. When I was running my TrigMon, I was NOT mentioning the initiation queue name and I guess it was using default initiation queue which is SYSTEM.CHANNEL.INITQ.
When I ran my TrigMon with DLQINITQ & SYSTEM.DEFAULT.INITIATION.QUEUE, every thing works fine.
Again, thank you so much for all your help.
Having said that, my next project would be to write a shell script to capture SCYEXIT & SCYDATA attributes from SVRCONN channels under each Queue Manager running on a machine. As I said earlier, there are about 12 Queue Managers running on one machine.
This script would run against all SVRCONN channels under each queue manager.
I will start looking into it may be in a day or two. In the mean time, if anybody have any suggestions would be again highly appreciated.
Again, Thank you so much!!! |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Dec 18, 2006 4:02 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Quote: |
Having said that, my next project would be to write a shell script to capture SCYEXIT & SCYDATA attributes from SVRCONN channels under each Queue Manager running on a machine. |
Why?
I mean, really, WHY?
These aren't going to change dynamically. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
wschutz |
Posted: Mon Dec 18, 2006 5:43 pm Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Maybe its a security scan to ensure that they HAVEN'T changed.....
btw, hkhan12, you do know that you have to clear the DLQ of all messages before your script will be triggered again, right? _________________ -wayne |
|
Back to top |
|
 |
hkhan12 |
Posted: Tue Dec 19, 2006 6:07 am Post subject: |
|
|
Voyager
Joined: 08 Aug 2002 Posts: 98
|
Wayne - Yes, I know that I have to clear all my DLQs before it strarts triggering.
Jeff - your question is valid. actually currently we have LogIP in placed for all our SVRCONN channels and we are planning to replace it with BlockIP2.
The idea here is to replace all LogIP with BlockIP2 through the script. At this point, I don't know if it is viable but I want to give it a try. I'm kind of scared when you said SCYDATA & SCYEXIT are not going to change dynamically.
So, the first step I thought lets first get all SVRCONN channels SCYDATA & SCYEXIT attributes that will give me a list of channels under each queue manager. |
|
Back to top |
|
 |
bbburson |
Posted: Tue Dec 19, 2006 6:21 am Post subject: |
|
|
Partisan
Joined: 06 Jan 2004 Posts: 378 Location: Nowhere near a queue manager
|
hkhan12 wrote: |
So, the first step I thought lets first get all SVRCONN channels SCYDATA & SCYEXIT attributes that will give me a list of channels under each queue manager. |
saveqmgr from SupportPac MS03 will give you this and much more.
 |
|
Back to top |
|
 |
wschutz |
Posted: Tue Dec 19, 2006 6:22 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
something like:
Code: |
dspmq | grep 'STATUS(Running)' | sed 's/QMNAME(\(.*\)) *STATUS.*/\1/' | xargs -i saveqmgr.linux -1 -c -m {} | grep SVRCONN |
_________________ -wayne |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Dec 19, 2006 6:27 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
No, what I meant by "change dynamically" was - these don't change "on their own". They only change when someone changes them.
I really wouldn't bother with grabbing the old values, I'd just write an ALTER script to set the new values.
Thirdly, if you want to authenticate your client users, and you have business requirements to do so, maybe you should consider using SSL or WebSphere MQ Extended Security edition or CapitalWare's MQAUX or some other third party professional solution, instead of the hobbyist supported BlockIP. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|