When a channel deliveries messages to a receiver that can only accept x messages, the
channel delivers as many messages as it can until the receiver returns null to signify it
doesn't want any more.
There is a problem with this in a clustered setup, when pulling messages from a remote
queue.
The channel will deliver as many messages it can from the local queue, and then, if the
receiver is still ready, in some situations will start pulling
messages from a remote queue.
So what can happen is the local queue pulls a message from the remote queue then offers it
to the receiver which returns null because it is now full, so we have unnecessaily
retrieved a message.
But the receiver knows it is full after accepting the last message.
So I suggest we add a flag on simple delivery to signify "receiver now full",
this prevents the channel having to try delivery only to find it is rejected.
Any other solutions ideas?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3977556#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...