Author |
Message
|
harghgh |
Posted: Mon May 12, 2014 10:24 am Post subject: Triggering issue with notes agent |
|
|
Novice
Joined: 26 Jun 2012 Posts: 12
|
I am Facing the problem with MQ client triggering. Using the support pack MA07 for notes agent triggering.
For the trigger type first, the notes agent application is triggering multiple times. If application is executed manually its running fine.
Want to know is there any way I can run the runmqtmc service in foreground just like runmqtrm service, to understand what is happening after the application put the message in the triggering queue(application queue).
Using MQ 7.1 on windows.
Please suggest |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon May 12, 2014 11:19 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
To run a trigger monitor so you can watch its behavior (or behaviour), don't run it as a service. Rather, open a shell (or c: prompt on Windows), and start the runmqtmc in the shell. Start it with the same parameters used when you created the service. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
harghgh |
Posted: Mon May 12, 2014 11:38 am Post subject: |
|
|
Novice
Joined: 26 Jun 2012 Posts: 12
|
I am able to run the runmqtmc in foreground. I have stopped the service and run it with with runmqtmc -m <QM> -q <initation queue>. and it prompts waiting for trigger message. The problem is the application is notes agent. And we can't directly execute the notes agent. To execute the notes application it will use trigsvc.cpp file. correct me If I am wrong.
If I run client trigger monitor runmqrmc in foregroud. and applciation put the messge in the triggered applciation queue. I get the message something" Application failed with reason 22". The strang thing is that it displays this message four times on the windows console. ideally it should be once. I am not familiar with notes being an MQ admin. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue May 13, 2014 5:54 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
You will need to look at the app documentation to discover what an error 22 means. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
harghgh |
Posted: Wed May 14, 2014 12:26 pm Post subject: |
|
|
Novice
Joined: 26 Jun 2012 Posts: 12
|
My apoligies..using the support pack MA7K for notes agent. How can I ensure only one trigger message is generated by queue manager if the trigger type FIRST is set on triggered application queue. When the first message is put on the queue. the lotus application triggered multiple times.
Checked for reason 22 in MA7K doc " This SupportPac will attempt to trigger a Lotus Notes agent if it receives a trigger message with application type of "22". |
|
Back to top |
|
 |
exerk |
Posted: Thu May 15, 2014 12:22 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
harghgh wrote: |
...How can I ensure only one trigger message is generated by queue manager if the trigger type FIRST is set on triggered application queue. When the first message is put on the queue. the lotus application triggered multiple times... |
Check the TRIGINT setting of your queue manager (it's set in milliseconds) because if it's set too low triggering on FIRST will act like triggering on EVERY. Of course I'm making the assumption here that when you state you're getting this behavior that more than one message is hitting the queue, as implied: "...When the first message is put on the queue...". _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
harghgh |
Posted: Thu May 15, 2014 2:00 am Post subject: |
|
|
Novice
Joined: 26 Jun 2012 Posts: 12
|
The TRIGINT for the QMGR after converting from milliseconds to minutes is 30mins.So there is no problem on that part.
The application triggers multiple times with in milliseconds. When application put the message on local tirggered queue. Test it by putting the single message. As the trigger type is first. The lotus note application should execute only once. However the application triggered muliple times. below are the logs of application getting triggered 4times
05/14/2014 02:19:40 PM Agent printing: This should only run once
05/14/2014 02:19:41 PM Agent printing: This should only run once
05/14/2014 02:19:41 PM Agent printing: This should only run once
05/14/2014 02:19:43 PM Agent printing: This should only run once
How can I ensure only one trigger message is generated by queue manager. Any help is really appréciated. |
|
Back to top |
|
 |
exerk |
Posted: Thu May 15, 2014 2:27 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Stop the trigger monitor and, put a single message on the queue, then check how many trigger messages are put to the initiation queue.
Follow-up question - Units-Of-Work involved? _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu May 15, 2014 4:29 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
exerk wrote: |
Stop the trigger monitor and, put a single message on the queue, then check how many trigger messages are put to the initiation queue.
|
There will be none.
One of the trigger conditions is that the assocciated init queue is open for input.
BUT, you can fake this condition to better understand triggering. Stop the trigger monitor, then open the init queue with some other utility so that the open input count of the init queue is > 0. The QM only cares that something has the init queue open. Ideally use a program that opens the init queue but doesn't MQGET - that way you can watch the init queue to see when trigger messages are generated, how many, browse then to see what they contain. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
exerk |
Posted: Thu May 15, 2014 5:46 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
PeterPotkay wrote: |
exerk wrote: |
Stop the trigger monitor and, put a single message on the queue, then check how many trigger messages are put to the initiation queue.
|
There will be none.
One of the trigger conditions is that the assocciated init queue is open for input. |
Yet another school-day for moi  _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
harghgh |
Posted: Thu May 15, 2014 12:15 pm Post subject: |
|
|
Novice
Joined: 26 Jun 2012 Posts: 12
|
thanks !!Good learning..can you please suggest some sample program to do this. Checked MQ sample programs but did not get any success. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu May 15, 2014 2:14 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
RFHUTIL _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
harghgh |
Posted: Fri May 16, 2014 2:04 am Post subject: |
|
|
Novice
Joined: 26 Jun 2012 Posts: 12
|
RFHUTIL is not available on server. Will try to test locally this weekend. Will try to test as suggested by Peter.
however I tested below 2 scenerios.
1. changed trigger type first to every..and application triggering works fine.
2. put trigger off and put the message. and then enable the trigger..application triggering works fine.
In both cases notes agent is triggered once.
Surprised to see this behaviour. ..In case of trigger type first its, triggering multiple times. |
|
Back to top |
|
 |
zpat |
Posted: Fri May 16, 2014 2:17 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Triggering first will only happen when the data queue depth goes from 0 to 1. Also only when the data queue is not already open for input.
Any program processing the data queue should therefore get all the messages on it before terminating.
To guard against occasions when the queue is not cleared, set the trigger interval on the queue manager to cause re-trigger. But the queue must not be open.
If something (or someone) sits there with the data queue open but not removing the messages then triggering won't work.
This includes using tools like MO71, RFHUTIL and the others that open the queue to browse it.
As a general rule do not use trigger "every" as it can launch far too many instances of your application.
However if your application can detect if it has already been started and terminate immediately then it's not so bad (but still pretty dumb). _________________ 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.
Last edited by zpat on Fri May 16, 2014 2:33 am; edited 1 time in total |
|
Back to top |
|
 |
harghgh |
Posted: Fri May 16, 2014 2:33 am Post subject: |
|
|
Novice
Joined: 26 Jun 2012 Posts: 12
|
Triggering is happening. The triggered data queue and initiation queue all seems fine. The issue is In case of trigger type first notes agent application is triggering multiple times. But its behaving differently in case of trigger type every and after resetting queue trigger. |
|
Back to top |
|
 |
|