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
>

Reply via email to