[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: Algorithm broken in WildcardAddressManager
ataylor
do-not-reply at jboss.com
Tue Jan 6 08:28:20 EST 2009
Thats exactly my understanding apart from
anonymous wrote : But the important point here is there is no guarantee check allowable = true. If checkAllowable = false then probably the list of allowable destinations is empty even though there are many queues, so you can't rely on it.
We always populate allowable destinations no matter what checkallowable is set to.
anonymous wrote : In which case, I really don't understand your explanation. Perhaps you could start again.....?
Ok, lets forget JMS for now. when a queue is created with a wildcard say 'queue.*' then its binding will also be added to 'queue.a', 'queue.b' etc. This means that when a message is routed to either queue.a or queue.b it is delivered to any consumers registered with queue.*. If a new queue queue.c is added after the fact then it also has the binding added.
The problem comes, like you say, for topics. lets say a consumer registers with topic.*, unless there is already another consumer registered with topic.a then any messages routed to topic.a won't get routed since we haven't added topic.*'s binding to topic.a. This is the reason i was originally creating all the combinations. To solve this I can either also check the destinations to see if theres any i have missed or , which is simpler, make sure I always add a mapping for any added destination. This doesn't change the functionality, if it happens that a message is routed to an address with an empty bindings then thats ok.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4199760#4199760
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4199760
More information about the jboss-dev-forums
mailing list