The plan is to replace the current Queue Browser implementation with something better. The
new implementation will leverage the current consumer functionality. On the client side
this will be quite simple, since the browser is now just a consumer it will just read
messages from the internal client buffer until it is empty, once empty the client will
make a final check to see if there are any messages waiting to be delivered or in transit
and take the appropriate action.
On the server side when a browser is created or reset the browser first obtains the list
of current references on a queue and add them to its one internal queue. The messages are
then sent to the client using the current consumer functionality, I.e. a
SessionReceiveMessage. For new messages that are delivered to the queue these are
instantly added to the server browser during the queue.add() method. The server browser
will keep forwarding messages until the clients has run out of flow control tokens or
until a configurable limit is reached. This is in essence a snapshot size. If a browser
has stopped delivering because of flow control then this will be restarted in the usual
fashion when the client has consumed (getNextMessage()) a message and released some flow
tokens.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4181397#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...