On Fri, Mar 11, 2011 at 10:30 AM, Robert Godfrey <rob.j.godf...@gmail.com>wrote:
> 2) By default, on creating a consumer, the Java Client declares (creates) > the queue with the properties in the Destination Object. > > until such a time ass we fix issue 2 (and we should do this ASAP - it's > long > >> overdue) > >> > >> Issue 2 is already fixed. > > When I implemented addressing I did try to preserve backwards > compatibility > > all though I regret it now. > > (However I didn't know that the queues created using session.createQueue > > were durable by default.) > > > > Also we need to explicitly document what the default behaviour is for the > > benefit of our users. > > > > > To be clear if you do > > Queue q = session.createQueue("myQueue"); > MessageConsumer mc = session.createConsumer(q); > > You are saying that no queue called "myQueue" will be created on the Broker > now? > > Sorry Rob I should have made it clear. For this particular case (if just the queue name is specified) I set the create option so it does get created. As I said I really regret doing it, as it's not properly backwards compatible, nor it's really consistent with the way addressing works in rest of the code. Maybe I should fix it properly (to be consistent with how addressing works) for this release. When I said I fixed issue #2, I meant the following, Destination q = new AMQAnyDestination("myQueue"); MessageConsumer cons = session.createConsumer(q); The above will definitely throw an exception if "myQueue" is not found on the broker. > I thought that what was being said was that it is still created, but while > previously this would have created a durable queue, now it creates a > transient one > > -- Rob >