|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
Message Flow not able to process all messages in Queue |
« View previous topic :: View next topic » |
Author |
Message
|
bijesh |
Posted: Mon Jul 16, 2007 4:25 am Post subject: |
|
|
Acolyte
Joined: 30 Jan 2007 Posts: 66
|
Vitor wrote: |
I think most of the previous comments apply regarding why you're doing this. If you have a scheduled time constrant, why not use a proper scheduling package to control the flow and stick an MQInput node on the front?
Are you getting the same problem, or a similar one? What error are you getting? What symptoms are you seeing? |
Can you elaborate on using the scheduling package?
I'm getting similar problem as udayakumarisampalli explained. Am not getting any error. But when the number of messages is more than 50, the server abend error happens and that terminates the corresponding thread. This was the reason for those missing messages told by udayakumarisampalli.
am making use of MQGet node since I need to trigger the flow using Timeout notification node. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jul 16, 2007 4:36 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bijesh wrote: |
Can you elaborate on using the scheduling package? |
I mean whatever scheduling package is available to your OS (cron or similar). It must be a more flexible / easier / visible solution than nodes and allows a more traditional flow architecture.
It sounds like there's a "feature" in the MQGet node last doesn't like repeated reads. In fairness, it is intended for an additional read during a flow; it's the MQInput node that's intended for grunt work.
Maybe an IBMer has a differing view. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
EddieA |
Posted: Mon Jul 16, 2007 11:30 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
bijesh wrote: |
It sounds like there's a "feature" in the MQGet node last doesn't like repeated reads. |
Yeah, MQGet in a loop doesn't release the storage it uses. What you need is use PROPAGATE in a loop to "drive" the MQGet, and use something like an Environment variable to terminate the PROPAGATEs.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Last edited by EddieA on Tue Jul 17, 2007 9:02 am; edited 1 time in total |
|
Back to top |
|
 |
bijesh |
Posted: Mon Jul 16, 2007 10:00 pm Post subject: |
|
|
Acolyte
Joined: 30 Jan 2007 Posts: 66
|
EddieA wrote: |
Yeah, MQGet in a loop doesn't release the storage it uses. What you need is use PROPAGATE in a loop to "drive" the MQGet, and use something like an Environment variable to terminate the PROPAGATEs.
Cheers, |
Can you give me some more details on this? |
|
Back to top |
|
 |
EddieA |
Posted: Tue Jul 17, 2007 9:31 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
Most people put the MQGet in a loop, something like this:
Prepare for Get -> MQGet -> Process message -> Check for end, if not, loop back to "Prepare"
This doesn't release the storage used by the MQGet, so, if you are reading in many messages, you slowly run out of storage. What you need to do, is something like this.
In the "Prepare", check a "flag". If you still need to do an MQGet, issue a PRORAGATE to drive the rest of the flow. If, not, do a RETURN FALSE to terminate.
In the "Check for end", all you do, is set the "flag" for "Prepare", if you want to terminate. There is no "wire" leading back to a previous point in the flow.
The way PROPAGATE works, ensures that the storage used, is released, for each iteration.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
|
|
|
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
|
|
|
|