[Design of Messaging on JBoss (Messaging/JBoss)] - new QueueBrowser implementation
by ataylor
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#4181397
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4181397
16 years, 3 months