Author |
Message
|
tkaravind |
Posted: Thu Dec 11, 2003 1:17 am Post subject: TRIGGER MONITOR SERVICE !!! |
|
|
Acolyte
Joined: 24 Jul 2001 Posts: 63
|
Dear Folks,
We are currently using MQSeries 5.2 on NT which currently has a limitation on the Trigger Monitor - that it cannot be started from the services window but ONLY from the DOS prompt.
We are using triggering in a wide network for multiple applications and having several Trigger windows running together becomes a sort of overhead.
Is there anyway I can do this using the MQServices panel ? Surprisingly other services (Command server/Channel Initiator/Listeners) work from the MQServices panel ...It is only the Trigger Monitor that poses problems.
Has this been fixed with Websphere MQ 5.3 ? Or is there any way in which triggering using DOS prompt is superior to what we could achieve through a panel ?
If anyone has more information on this please let me know.
Thanks in advance.
Regards,
Aravind |
|
Back to top |
|
 |
JasonE |
Posted: Thu Dec 11, 2003 2:28 am Post subject: |
|
|
Grand Master
Joined: 03 Nov 2003 Posts: 1220 Location: Hursley
|
Ensure musr_mqadmin (or whatever userid MQ is running under) has authorization to READ the root drive of both the drive hosting the application and the windows drive. Use filemon (www.sysinternals.com) and look for access denied errors to work out why you are having problems.
The trigger monitor can launch commands quite happliy running as a service as long as security permits. |
|
Back to top |
|
 |
tkaravind |
Posted: Fri Dec 12, 2003 3:11 am Post subject: |
|
|
Acolyte
Joined: 24 Jul 2001 Posts: 63
|
Thanks Jason !
I am running the Trigger Monitor with the MUSR_MQADMIN which has full admin rights on my machine. So no probs there.
However I have a curious finding here. When I had this Trigger Monitor running a service in the Servces panel it is NOT even reading the Trigger Message off the initiation queue, let alone triggering !
Every time I put a message trigger messages keep piling up on my Initiation queue. Just as a sample run I have given the simple Notepad exe as the Process to be triggered. Could this be a problem with my process definition then ?
Why is this behaviour ?
Any ideas ?
Thanks & Regards,
Aravind |
|
Back to top |
|
 |
mrlinux |
Posted: Fri Dec 12, 2003 5:45 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
Well if the trigger monitor is not connected to the INITQ then there should be no trigger messages generated my the QMGR ???? _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
tkaravind |
Posted: Fri Dec 12, 2003 9:21 pm Post subject: |
|
|
Acolyte
Joined: 24 Jul 2001 Posts: 63
|
EXACTLY mrlinux. That's where I am confused !
The fact that Trigger Msg is generated shows that the Monitor is well connected to the Initq but somehow it would NOT process them.
I checked the MQ logs too. Nothing suspicious out there.
Is there anywhere else I could look to find out what is happening in the background ?
Thanks,
Aravind |
|
Back to top |
|
 |
jefflowrey |
Posted: Sat Dec 13, 2003 7:52 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
It could very well be an issue with your process definition.
Normally, when reacting to a triggered event, the trigger monitor will launch the triggered process and then wait for the triggered process to end before going to the next trigger message.
If you are not using 'start' in your process definition, this is very likely what is happening. And suppose you are launching notepad as you say - notepad doesn't quit until you tell it to. And the trigger monitor service will NOT launch notepad in the foreground - where you can interact with it. It will launch it in the user space of the muser_mqadmin, which will be invisible unless you're logged in as that user(not likely).
Check your process list using Task manager and see if there's a copy of notepad running somewhere. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
tkaravind |
Posted: Mon Dec 15, 2003 4:43 am Post subject: |
|
|
Acolyte
Joined: 24 Jul 2001 Posts: 63
|
Hi Jeff,
Thanks a ton ! You were absolutely right !!! Yes, I am seeing the notepad appln running under the task manager (never struck me). Is there anyway I can make it run under the local system account ?
Would this create some sort of limitation on the process triggered - I mean running it under the MUSR_MQADMIN id ? Or is it the same as running this the way we are doing currently - from the command prompt ?
If so can I safely convert all such trigger monitors to run in the background like this one without any impact to the process !!!
Also, your response has brought in another interesting dimension to this topic. This method of using START in the process definition - I have not seen it being used except in the case where we used Channel Initiator in the OS/390 where we provided CSQX START in the Appln ID field.
Offcourse we never really understood what it meant exactly at that time (we took it from the IBM Manuals)
--- Does this mean that with our Process definition we have provided for multiple sender channel processes (clones) to start on the same XMITQ paralelly ? Would this work and if yes what happens to the receiver instance which is already connected with one sender process successfully ?
Your advice on this issue would be highly valuable as we go about making any changes necessary.
Thanks in advance,
Aravind |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Dec 15, 2003 5:27 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
tkaravind wrote: |
Thanks a ton ! You were absolutely right !!! Yes, I am seeing the notepad appln running under the task manager (never struck me). Is there anyway I can make it run under the local system account ? |
Not using the Services mmc, no. The other options are to use the MQSerice Client Trigger Monitor Service, which is a support pack, or to use something like Autoexnt to start a set of trigger monitors running at system startup. Autoexnt is a service that will launch a specific batch file during startup. If you're using 2000 or XP or whatever, you can create Scheduled Tasks instead - but you said you're using NT.
With either of these approaches, you can change the user that is launching the trigger monitors by changing the user that runs the service itself.
tkaravind wrote: |
Would this create some sort of limitation on the process triggered - I mean running it under the MUSR_MQADMIN id ? Or is it the same as running this the way we are doing currently - from the command prompt ?
If so can I safely convert all such trigger monitors to run in the background like this one without any impact to the process !!! |
The thing it does change is exactly that - the user that the processes are running under. As long as you can provide the right kinds of authorities for system (non-mq) resources to your apps running as MUSR_MQADMIN, then there's no reason not to do it this way.
tkaravind wrote: |
Also, your response has brought in another interesting dimension to this topic. This method of using START in the process definition - I have not seen it being used except in the case where we used Channel Initiator in the OS/390 where we provided CSQX START in the Appln ID field. |
These are two completely different START commands. The windows shell/dos command "START" is the equivalent of the unix '&'. So if on unix, I say 'runmqtrm&', it will start runmqtrm in it's own process (and on unix at least, it's a background rpocess). On Windows what the START command does is open up the command in a new process, and immediately return to the calling environment.
tkaravind wrote: |
Offcourse we never really understood what it meant exactly at that time (we took it from the IBM Manuals)
--- Does this mean that with our Process definition we have provided for multiple sender channel processes (clones) to start on the same XMITQ paralelly ? Would this work and if yes what happens to the receiver instance which is already connected with one sender process successfully ? |
I don't know what the OS/390 command means. But I'm fairly sure it's completely different than the Windows command.
tkaravind wrote: |
Your advice on this issue would be highly valuable as we go about making any changes necessary. |
I'm happy to quote you a consulting rate, if my advice is that valuable.
tkaravind wrote: |
Thanks in advance, |
Don't thank me, thank Brandon _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
JasonE |
Posted: Mon Dec 15, 2003 9:45 am Post subject: |
|
|
Grand Master
Joined: 03 Nov 2003 Posts: 1220 Location: Hursley
|
Just to add some comments to this thread. (been away)...
musr_mqadmin does not (by default) have admin rights, and there is no need for it to do so (but it can act as a workaround for some security related issues).
When MQ service starts, amqsvc gets launched which is run under the environment and userid of the system account. This in turn starts the dcom object which runs under musr_mqadmin, which is then inherited by the trigger monitor. Effectively this means that the trigger monitor service is not running under the same 'desktop' as the interactive user, and as such GUI programs cannot be launched as they cannot be interacted with, and can hang (as you saw with notepad).
Additionally, there are security problems for people who have secured their machines, as the trigger monitor launches the users program synchoronously and this usually involves a cmd.exe process (hence my initial comments)
As has been said above, since this is synchronous, once one app hangs, no future trigger messages can be processed by that trigger monitor.
So that leaves the issue of what you are trying to trigger. As long as it has no requirement to interact with the user, nor display anything then running from the trigger monitor service should not be a problem.
There is also a workaround for both these issues via something which can be supplied from IBM called 'intlaunch' (search google) which allows you to launch interactive programs or ones to run under a different userid. This is not 'supported' but a useful utility sometimes supplied when people hit this exact issue. |
|
Back to top |
|
 |
|