Author |
Message
|
wendy |
Posted: Thu Aug 10, 2006 5:33 am Post subject: MQGet losing messages |
|
|
Apprentice
Joined: 10 Dec 2001 Posts: 47
|
I am using a WMQI MQGet plug-in node in a flow to move failed messages from a failure Queue, X, into a separate queue Y. The queue Y is an input queue to another flow.
The MQGet only gets one message and the failure queue will possibly have more that one message. As a work around, the out terminal of the MQGET has been connect twice. First to a compute node that connects back to the in terminal of the MQGet. This is to get any outstanding messages that could be on Queue X. Secondly the out terminal is connected to output queue Y. This is to put the picked message into the output queue Y.
This flow works except when the number of messages on the queue X is greater than 172. In this case it get the first 172 messages and instead of sending output to the queue Y it seems to loss all the messages. I have tried connecting traces before and after the output node (queue name is Y) .All messages are written on the trace before the output node. However, the traces after the output node i.e. the out and failure terminal are both empty.
Why are the messages being lost and not put on the queue Y? Please help. |
|
Back to top |
|
 |
madi |
Posted: Thu Aug 10, 2006 6:15 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
since the order of flow execution is random . i think may be you should have a flow order node ........ first put the message in the queue Y and then make the compute send a message to MQGet
just an idea . hope it works
--madi |
|
Back to top |
|
 |
wendy |
Posted: Wed Aug 16, 2006 3:12 am Post subject: MQGet losing messages |
|
|
Apprentice
Joined: 10 Dec 2001 Posts: 47
|
I included a flow order node to first put the message in the queue Y and then make the compute send a message to MQGet but this has not resolved the problem.I am still losing the messages. |
|
Back to top |
|
 |
wschutz |
Posted: Wed Aug 16, 2006 3:14 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Wendy, why not just use an MQInput node to get the messages off queue X and then an MQOuput node to put them to Y? _________________ -wayne |
|
Back to top |
|
 |
elvis_gn |
Posted: Wed Aug 16, 2006 4:06 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi wendy,
What does the event log say ?
wendy wrote: |
the out terminal of the MQGET has been connect twice. First to a compute node that connects back to the in terminal of the MQGet. This is to get any outstanding messages that could be on Queue X. Secondly the out terminal is connected to output queue Y. This is to put the picked message into the output queue Y. |
So ur putting messages on Y and also keeping the flow running by going to the MQGet again ?
Are u storing the messages in the compute node ?
What is the transaction settings on your MQOutput node ? Set it to "No"...atleast u should get the 171 messages by that.
And as wschutz said, why not simply put it into queue Y...
Regards. |
|
Back to top |
|
 |
|