I am upgrading my Java program from MRG 1.2 to MRG 1.3. I tried using the new
addressing syntax to pick up the ability to create a dynamic queue as a ring
queue. I made the queue non-durable with the auto-delete and exclusive flags.
Before fail over, when I query the broker that I am going to fail over to, the
dynamic ring queue appears on the queue list. However, when I fail over to it,
the queue disappears. Most of the time JMS does not receive an exception that
the queue does not exist so it does not know that it needs to recreate the
queue. Therefore, it behaves as if it is connected, but it does not receive any
messages. On rare occasions, an exception is received by JMS, which is passed
on
to my code. My code then recreates the queue. If I use the old syntax, the
program fails over just fine. Is there something I might be missing in the
addressing syntax that is preventing this from working correctly, or is there a
race condition for JMS receiving an exception for the missing queue?
Thanks,
Liz