|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
"Not a valid trigger message" |
« View previous topic :: View next topic » |
Author |
Message
|
MikeClark |
Posted: Thu Feb 24, 2005 11:35 am Post subject: |
|
|
 Apprentice
Joined: 17 Feb 2004 Posts: 27 Location: Olympia, WA
|
I did as suggested and checked on the Status of the queue (the triggered, not the initiation queue), and it showed my application that I use to send test messages to the queue as an input source. This seems to suggest it isn't closing the connection after doing the put, but I've followed the app in my debugger and it is definitely performing a close.
I was able to get a trigger to run anyway, by setting triggering to EVERY on that queue, then sending (putting) a test in. Alarmingly, the trigger fired, the application ran successfully, and did what it was supposed to. One message remained on the queue -- wouldn't trigger, and I can't "clear" the queue because of the Open Input count. The app that put the message in there is long closed and gone. I ran a getter to pull the message off the queue, but the Open Input count remains at 1.
I cannot get the Open Input count to 0.
This has been driving me nuts over the past few months. From time to time I've been getting the "Not a valid trigger message" error, especially (although not always) after having made a change to the application that is set to be started up, with no change to the underlying local queue and process definition. Other times this has happened when the mainframe programmer (the other side to at least part of this mess, because that's usually where test data is coming from) has made some change. I had hoped to find some consistent cause to it all. The crazy thing is, at some point the problem goes away -- the mainframer, who is a contractor with extensive MQ experience, claims not to have done anything.
For JT, I did check the name of the Destination Queue in the DLQ header, and it was the name of the queue as shown defined in my first post. No other trigger monitors were running, and I'm not sure what message from the DLQ I should post. The "data"? Well, here are the first few bytes:
Code: |
44 4C 48 20 01 00 00 00 DLH ....
0A 01 00 00 4F 46 4D 2E ....OFM.
54 51 4D 2E 41 46 52 53 TQM.AFRS
45 44 49 54 2E 52 45 50 EDIT.REP
4C 59 2E 51 4C 20 20 20 LY.QL
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 54 51 4D 20 TQM
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 22 02 00 00 "...
B5 01 00 00 4D 51 53 54 µ...MQST
52 20 20 20 0B 00 00 00 R ....
52 55 4E 4D 51 54 52 4D RUNMQTRM
00 00 00 00 00 00 00 00 ........
00 00 00 00 00 00 00 00 ........
00 00 00 00 32 30 30 35 ....2005
30 32 32 33 32 32 31 31 02232211
33 34 39 33 31 30 35 30 34931050
4C 59 53 41 4E 44 45 52 LYSANDER
2E 53 50 4F 4F 4E 45 52 .SPOONER
20 20 20 20 20 20 20 20 |
I'm ready to believe there was something wrong with the data coming in (this message was from the mainframe, not my little test putter). Perhaps the source of the problem shows up here. I'd really like the problem be because of the mainframe application!  _________________ "...a long habit of not thinking a thing wrong, gives it a superficial appearance of being right..." [Tom Paine] |
|
Back to top |
|
 |
JT |
Posted: Thu Feb 24, 2005 3:07 pm Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
Mike,
To find out what has the open handle on your queue, issue the command:
Code: |
display qstatus(queue-name) type(handle) all |
This will provide some identifying information (pid, appltag) regarding the process that has the queue open.
I'd be interested in knowing what has the queue open, because if the message ended up on the dead-letter queue due to each of the followng conditions.......- the Reason is 'MQFB_TM_ERROR'
- the Put Application Name is 'RUNMQTRM'
- the Destination Queue is your local queue
- the payload of the message does not have a prefix of 'MQTM'
......then my friend, you have a Trigger Monitor watching the wrong queue. |
|
Back to top |
|
 |
mq_developer |
Posted: Thu Feb 24, 2005 7:02 pm Post subject: |
|
|
Voyager
Joined: 18 Feb 2002 Posts: 82
|
Few things that you can look for ... I have seen Trigger Message (TM) going to DLQ in these cases too ..
1) Application ending/exiting with a non zero return code ..
2) Your USERDATA looks little suspicious ... Make sure that your triggered application is able to read them as arguments properly ... Even though i think ';' doenst have special meaning in windows , just make sure you are able to invoke your application with ENVRDATA values as arguments ... |
|
Back to top |
|
 |
|
|
|
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
|
|
|
|