2
votes

I'm trying to achieve following scenario When a new message arrives to queue manager it should automatically trigger my console application. Then it will fetch that message and write the message in to a file. I already completed this part. But I'm having problem with triggering message queue

Here is how I configured my message queue

I created two queues one is called LocalQueue and other one is InitQueue which is SYSTEM.DEFAULT.INITIATION.QUEUE.

enter image description here

and set "Trigger" properties in my LocalQueue

enter image description here

Then Created trigger monitor

enter image description here

In process definition object I set my console application path

enter image description here

So my problem is, It doesn't work as it expect and I checked my client machine C:\Program Files (x86)\IBM\WebSphere MQ\errors\AMQERR01.LOG and server machine C:\Program Files (x86)\IBM\WebSphere MQ\errors log files. I couldn't find anything on them


Update Based on Morag answer I changed my process name enter image description here

3

3 Answers

1
votes

You appear to have named your TriggerMonitor Service object in the queue attribute where you should put the process object name FetchMessages.

1
votes

The Start Args for your trigger monitor Service object appears to be telling the trigger monitor to monitor the LocalQueue and not the InitQueue.

0
votes

You need to make sure that the trigger monitor is running and has opened the initiation queue in INPUT(i.e. for GET) mode. Only then queue manager will put a trigger message into initiation queue. Here is what I did to get it working:

I did the setup just like you except for service. I manually started runmqtmc as

   SET MQSERVER=<channel name>/TCP/<connname>
   runmqtmc -m <qmname> -q <initq>

Put a test message on local queue. That triggered an event and my application started.