Author |
Message
|
meriton |
Posted: Tue Feb 03, 2004 7:20 pm Post subject: Simultaneous triggering problem... |
|
|
Novice
Joined: 07 Aug 2002 Posts: 24
|
I have an MQ Series java application using multiple queues, all of which have depth triggers. If two of these queues trigger simultaneously, only one instance of the trigger process (another java program) is invoked, and one queue is left unprocessed. This occurs when the trigger process is run in the foreground.
I tried running the trigger process in the background (on UNIX using '&') and am getting the following error:
---------------------------------------------------------------------------
Waiting for a trigger message
java CCSEDXCollation& 'TMC 2CLK.G2B.PHY.DEVL.ISS.62321074750 COLLATION
java CCSEDXCollation&
ECXDEV
'
sh: TMC 2CLK.G2B.PHY.DEVL.ISS.62321074750 COLLATION
java
CCSEDXCollation&
ECXDEV
: not found
Error starting triggered application.
------------------------------------------------------------------------------------
Can anyone shed some light on this for me? Thx |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Feb 04, 2004 8:06 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
Using the ampersand ("&") is correct but the mq trigger monitor (runmqtrm) constructs the command with the following 3 components / attributes:
Application-Type MQTMC2-Structure Environment-Data As you have noticed, if you put the "&" in the Application Type field then it does not get put at the end of the line - which Unix requires.
Therefore, put the "&" in the Environment Data attribute of the process definition. (Put it after any data in the Environment Data field.)
Now your program will run in the background.
Hope that helps.
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
meriton |
Posted: Wed Feb 04, 2004 2:00 pm Post subject: |
|
|
Novice
Joined: 07 Aug 2002 Posts: 24
|
Thanks for your help - putting the & in the envr data field appears to have worked ie the process is running in the background. However I am now back to having the initial problem - if 2 queues trigger simultaneously, only one of them is processed by the trigger monitor. The other message from the init queue ends up on the SYSTEM.DEAD.LETTER.QUEUE with MQFB_APPL_CANNOT_BE_STARTED reason code. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Feb 04, 2004 8:00 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
Try triggering each queue separately. My guess is that one of the process definition has an invalid Application Type. (i.e. check the path and executable name).
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
Henry |
Posted: Thu Feb 05, 2004 7:22 pm Post subject: |
|
|
Acolyte
Joined: 08 Oct 2003 Posts: 73
|
Hi!
I encountered a case that I have one trigger running on a client and trigger to a queue only. However, somehow it prompted up with the same error that can't trigger the application. This is not happened frequently. How can I fix this problem?
Thanks!! |
|
Back to top |
|
 |
meriton |
Posted: Thu Feb 05, 2004 8:32 pm Post subject: Re: Simultaneous triggering problem... |
|
|
Novice
Joined: 07 Aug 2002 Posts: 24
|
Hi Roger
Thank you for your help, but we still have problem.
Multiple dynamic queues cannot trigger simultaneously, for example, when we try to set trigger on 10 dynamic queues, only half (1,3,5,7,9) are successful and half failed.
The following are details of queue, process, script and messages from trigger monitor
Dynamic queue
DESCR( ) PROCESS(COLLATION)
Process COLLATION:
DESCR( ) APPLICID(test_trigger)
USERDATA( ) ENVRDATA(&)
PROCESS(COLLATION) ALTDATE(2004-02-06)
ALTTIME(14.49.04) APPLTYPE(UNIX)
Script used: test_trigger:
#!/bin/ksh
echo 'call script before'
java CCSEDXCollation "$@" &
echo 'call script after'
Messages from trigger monitor
test_trigger 'TMC 2CLK.G2B.PHY.DEVL.ISS.46475442247 COLLATION
test_trigger
&
ECXDEV ' &
call script before
End of application trigger.
__________________________________________________
Waiting for a trigger message
call script after
Finish the collation process here
TotalMsgs=1 |
|
Back to top |
|
 |
bduncan |
Posted: Fri Feb 06, 2004 10:10 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Read the following thread:
http://www.mqseries.net/phpBB2/viewtopic.php?t=5
It explains in gory detail this issue of triggering multiple applications in the background correctly. _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
|