qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Sim <g...@redhat.com>
Subject Re: Question about createQueue JMS method
Date Wed, 11 Mar 2009 19:36:21 GMT
Rajith Attapattu wrote:
> On Wed, Mar 11, 2009 at 12:47 PM, ffrenchm <ffrench.mathilde@gmail.com> wrote:
>> Hello,
>> If I want to send message on non existing queue "Q1" without any consumer on
>> this queue, I notice that no queue "Q1" are created. I would like to know :
>> 1) why queue are created when creating JMS consumer and not JMS producer ?
> The JMS producer does not create and bind any queues.

I think the question is, why?

I can understand that the producer for a Topic would ignore the 
declaration of queues or bindings while the corresponding consumer would 
create the queue and bind it.

For a Queue though I think the current behaviour is unintuitive. If the 
queue is created on demand when consuming from it, I would expect the 
same to happen when producing to it.

>> 2) where are pushed the messages sended by my sender ? Is there a dead
>> letter queue in QPID ? Why do I not have an exception which tell me the
>> queue doesn't exist ?

I think a much better and simpler solution here would be to declare the 
queue on creating a producer for the Queue instance, optionally setting 
the passive flag if we don't want auto-created queues. The same would 
work for creating a consumer for that Queue.

That way you can either have create-on-demand queues that work whether 
you happen to try to publish or consume first, or you can fail fast with 
an exception when you try to produce or consume to a non-existent queue 
in the event that you expect these to have been preconfigured.

To me that would be more intuitive.

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org

View raw message