ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Message Flow not able to process all messages in Queue

Post new topic  Reply to topic Goto page Previous  1, 2
 Message Flow not able to process all messages in Queue « View previous topic :: View next topic » 
Author Message
bijesh
PostPosted: Mon Jul 16, 2007 4:25 am    Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Mon Jul 16, 2007 4:36 am    Post subject: Reply with quote

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
View user's profile Send private message
EddieA
PostPosted: Mon Jul 16, 2007 11:30 am    Post subject: Reply with quote

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
View user's profile Send private message
bijesh
PostPosted: Mon Jul 16, 2007 10:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
EddieA
PostPosted: Tue Jul 17, 2007 9:31 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Message Flow not able to process all messages in Queue
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.