I changed the receivers collection in BasicQueue from a HashSet to an ArrayList and it 
doesn't fix the problem it just changes it around some. Using the same format as I 
used previously:

1. Message #1 is sent to the queue.
2. Server A begins processing message #1.
3. Message #2 is sent to the queue.
4. Server B begins processing message #2.
5. Message #3 is sent to the queue.
6. Server B finishes processing message #2 and sits idle. (Where is message #3?)
7. Server A finishes processing message #1.
8. Server A begins processing message #3. (Oh there it is! Why didn't Server B get it?)

I have poked through the code some and it appears that immediately upon giving Message 
#1 to Server A, Server A gets resubscribed and added to the receivers. Thus, it 
doesn't really matter how receivers is organized (HashSet or ArrayList) it can still 
receive another message before it has acknowledged the message it was already given.

What I have not been able to figure out is *why* it gets immediately resubscribed to 
the queue. Is Server A initiating the resubscription or is it within the JMS server? 
Any thoughts would be appreciated. I can spend a little more time on this before I 
revert to a fairly ugly work-around. The work-around I'm thinking of is to send a 
no-op message after each real message. This should get around the problem.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3832199#3832199

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3832199


-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to