Producer flow control commented on by Martin Ritchie (Jun 26, 2008).

Comment:

A few Questions:
Will the policies be a straight limit or high/low marks?
Will the policies be per queue or per routing-key? Just thinking of the wild-card topic publication case.

When to send flow control message
You are going to need to record all the sessions that have published to a given queue(publishers) so that you can notify them when they have flow resumed. Would it not be useful to use this same list to flow producers when the limit is hit. This would mean that you don't have to wait for a publisher to publish a message to the blocked queue to get the notification.

The disadvantage of this would be that all previous producers would receive the flow message. So while this would provide earlier feedback for medium to high volume publishers the slower volume publishers may never need to be flow controlled if the situation is resolved on the broker before they need to publish again.

How do you intend to get round the problem that Publish in 0-8/0-9 is asynchronous? To maintain JMS compliance we have to accept the received Publish request even if we have hit the limit as the client is non-blocking so will be unable to throw a JMSException on the failure to publish.

Martin

Reply via email to