"jeffdelong" wrote :
|
| By server in the previous quote is this the router or the server side representation of the consumer?
|
|
The latter. The router is not really pertitent to this discussion which is about how messages get from a ServerConsumerEndpoin to the client side consumer. The router is just the thing that routes the message from the queue to the ServerConsumerEndpoint.
anonymous wrote :
|
| Is the "server side representation" of the consumer the same as the "channel" in the JBoss Messaging architecture?
No, the channel is the queue. The "server side representation" is the ServerConsumerEndpoint.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3996682#3996682
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3996682
anonymous wrote : The server receives the flow rate change (0) and stops sending messages. The client consumes the backlog and when the number remaining reaches bufferSize / 2 it sends another flow rate change message to the server with a +ve value.
|
By server in the previous quote is this the router or the server side representation of the consumer?
For example - if I had two consumers, and one is "backed up" and has sent a flow rate change (0). Will the round robin router continue to select the server side representation of this consumer? Or conversely, will the router be told this consumer is unavailable and temporarily stop selecting it?
Is the "server side representation" of the consumer the same as the "channel" in the JBoss Messaging architecture?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3996681#3996681
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3996681
So, basically what happens is this:
The queue may have many consumers. When delivery occurs, the queue will select one of those consumers baside on the implementation of Router that is being used with the queue. The default implementation round robins between the consumers.
Once the server side representation of the consumer has the message, it then needs to send it to client side. This works as described in the first post on this thread.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3996673#3996673
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3996673
"jeffdelong" wrote : Does this imply that all messages on the queue are sent to all consumers of the queue?
|
No. JMS queue semantics demand that a particular message is delivered to only one consumer.
anonymous wrote :
| If so, how does the JMS server enforce that the message only get consumed by a single consumer?
Currently, the default policy is to round robin between all available consumers, but this has nothing to do with how we deliver messages to the client side.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3996655#3996655
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3996655