|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Problem with MQGet Node |
« View previous topic :: View next topic » |
Author |
Message
|
darring |
Posted: Fri Dec 05, 2008 9:11 am Post subject: Problem with MQGet Node |
|
|
Apprentice
Joined: 14 Jun 2008 Posts: 36
|
Hi,
Trying to get a message out of the Queue using MQGet node, the out terminal of MQGet node is connected to a MQoutput node as shown below. I can get the message out of get queue properly, but in case the MQOutput queue is put disabled, the message from the Get Queue is lost. I can see the input mesage in the flow failure queue. All the nodes transaction mode are yes, the queues are persistent, messages are persistent. I'm using MB6.0 on Solaris. Any idea would be much appreciated.
InputNode -> out terminal ->MQGetNode -> outterminal -> Output Q
-> Catch and Failure terminal -> FailureQueue
Thanks |
|
Back to top |
|
 |
Raj kumar |
Posted: Fri Dec 05, 2008 11:52 am Post subject: |
|
|
 Novice
Joined: 27 Jun 2008 Posts: 14 Location: India
|
Hi,
Trying connecting a throw node after FailureQueue
i.e. InputNode -> out terminal ->MQGetNode -> outterminal -> Output Q
-> Catch and Failure terminal -> FailureQueue ->Throw
and set the transactional property of InputNode to No.
Normally when an exception occurs, the input message i.e. the Message posted to InputNode is only given to the failure/catch terminal. |
|
Back to top |
|
 |
darring |
Posted: Wed Dec 17, 2008 4:33 am Post subject: Got you |
|
|
Apprentice
Joined: 14 Jun 2008 Posts: 36
|
Hi Raj,
I understand the way you tried to solve the issue. But still I believe that MQ should have opened the queue under Sync Point. DOn't know why it's not doing so.....
Thanks |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Dec 17, 2008 5:36 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
How is the MQGet node supposed to know that an error occurred, if you do not throw an exception that reaches it? |
|
Back to top |
|
 |
Esa |
Posted: Wed Dec 17, 2008 5:41 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
The transaction mode of the input node should be Yes.
Then, if you disconnect the catch terminal, the MQget message gets rolled back. (Otherwise the flow will be committed and this will commit the MQget as well)
Or you could connect the catch terminal to a new Catch queue and connect the out teminal of its MQOutput node to a throw node.
If you do it the way Raj suggested, the original message will end up in the queue managers dead letter queue, because you would be throwing an exception after the fail terminal, too. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|