|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Help required in using MQGET node |
« View previous topic :: View next topic » |
Author |
Message
|
pvnkumar |
Posted: Mon Sep 01, 2008 4:44 am Post subject: Help required in using MQGET node |
|
|
 Novice
Joined: 26 May 2008 Posts: 16
|
HI all,
I'm trying to browse(not read) a message from the local queue using MQGET node(which had an option browse only).
message flow is like TimeOutNotification node-->MQGET node-->Compute node.....
As soon as i deploy the flow TimeOutNotification node notifies and MQGet node picks the message from the local queue and sends it to the out terminal and the message gets processed succesfully. when timeout Notification node notifies for the second time (say after 1min), MQGET node is not reading the data and control is going to the 'No Message' terminal of the MQGET node. I can see the current queue depth is 1 and the message is there in the local queue.
Help me in sorting out this issue.
Thanks in advance. |
|
Back to top |
|
 |
zpat |
Posted: Mon Sep 01, 2008 7:55 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
What are the other properties on the MQGET node set to, especially on the Request tab?
MQRC 2033 means no message found (matching criteria if specified).
Seems like there could be two reasons:
1. The browse cursor has not been reset
2. The MQGET is trying to match and failing to do so
Not sure how the browse cursor should get reset - but presumably repeated MQGETs could be intended to traverse the queue (if depth more than one) so this might be the intended design by IBM. |
|
Back to top |
|
 |
pvnkumar |
Posted: Mon Sep 01, 2008 9:51 pm Post subject: |
|
|
 Novice
Joined: 26 May 2008 Posts: 16
|
No matching criteria is specified on the request tab of the MQGET node other than browse only. Also im trying to browse message as a blob. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Sep 02, 2008 3:29 am Post subject: Re: Help required in using MQGET node |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
pvnkumar wrote: |
HI all,
I'm trying to browse(not read) a message from the local queue using MQGET node(which had an option browse only).
message flow is like TimeOutNotification node-->MQGET node-->Compute node.....
As soon as i deploy the flow TimeOutNotification node notifies and MQGet node picks the message from the local queue and sends it to the out terminal and the message gets processed succesfully. when timeout Notification node notifies for the second time (say after 1min), MQGET node is not reading the data and control is going to the 'No Message' terminal of the MQGET node. I can see the current queue depth is 1 and the message is there in the local queue.
Help me in sorting out this issue.
Thanks in advance. |
Wonder what you are trying to do? I would have expected that you would hook up the TimeOutNotification to an MQInput node...
I guess that your design is not appropriate for what you are trying to do.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Esa |
Posted: Wed Sep 03, 2008 4:40 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
it seems you cannot reset the browse cursor in an MQGet node, so, once browsed, the message will be unavailable for the flow untill you restart the execution group. If this is the intended behaviour, then IBM is propably still trying to discourage using MQ queues as a database (although Message Broker itself does this). There might be a way to reset the cursor programmatically by setting some LocalEnvironment values, but I havent checked that yet.
You cat try some alternative solutions:
1. Set the transaction mode in the TimoOutNotification node to No, set the transaction mode fo any other MQOutput or MQGet nodes to Yes, but leave the tranaction mode of your problematic MQGet to Automatic. Do not check browse only. Then throw an exception after the flow has run and your get operation will be rolled back.
2. Do not select browse mode in the MQGet. Add an MQoutput node that will put the message back in the same queue.
Esa |
|
Back to top |
|
 |
zpat |
Posted: Wed Sep 03, 2008 5:34 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
IBM does allow the same message to be browsed more than once by the same or different flows.
Quote: |
Ability to browse WebSphere MQ messages
In previous versions of WebSphere Message Broker, when the MQInput or MQGet node got a message from a queue, the message was removed. For WebSphere Message Broker Version 6.1, the ability to browse a queue means that the MQInput and MQGet nodes can get a message from a queue, but the original message remains on the queue to be reused by the same or other applications. The ability to browse is useful in situations where configuration data or constants are stored on a queue and used multiple times, or by applications that need to examine the content of a message before deciding whether to remove it from the queue. |
You can set the MQGMO options in a compute node before the MQGET node
Try setting MQGMO_BROWSE_FIRST in the local environment
Quote: |
To override the values that you set for the MQGet node properties to achieve a more dynamic way to process messages, include a Compute or JavaCompute node in your message flow before the MQGet node. Configure this node to create a new output message, and add fields to the LocalEnvironment tree to define new values for the properties that you want to change |
Quote: |
The MQGet node examines the LocalEnvironment tree that is propagated from the preceding node. It uses the content related to the MQGMO (MQ Get Message Options) and the MQMD (MQ Message Descriptor header), and updates the LocalEnvironment:
The node reads the MQGMO structure from ${inputMQParmsLocation}.MQGMO.*.
|
As usual it's all documented if you care to look
http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/index.jsp?topic=/com.ibm.etools.mft.doc/ab00026_.htm |
|
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
|
|
|
|