qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Godfrey <rob.j.godf...@gmail.com>
Subject Re: Connecting to RabbitMQ using QPid client
Date Wed, 10 Jun 2015 20:52:17 GMT
On 10 June 2015 at 21:31, Mansour Al Akeel <mansour.alakeel@gmail.com> wrote:
> thank you eveybody for your support.
> I managed to open the web console, and created a queue. Now everything
> is working fine and I am able to send a message.
> I will try to install the python api and use it to read those messages.
>> Ok
>> (just to clarify though: using Proton, as the new JMS client itself
>> does, does not mean using an embedded broker).
> So under in what case I use QPid JMS or Proton ?? Can you please
> kindly elaborate ??
>>> OOPS. I really missed this one ! Thank you a lot !
>>> This was one of the source of confusion. It was working with RabbitMQ
>>> but not Qpid !
>> If you are using the Qpid Java broker (which does support AMQP 0-9-1)
>> it possibly should work, unless it is dependent on some of the
>> RabbitMQ extensions to 0-9-1.
> I am not sure that is going on here. How come the java client is not
> talking to RabbitMQ (assuming it's 0-9-1) !
> I will get back to it at some point and see what is going on.

So in terms of clients, we have separate client libraries (with
different configuration options) for AMQP 1.0, and AMQP0-8/0-9-1/10.
If the RabbitMQ AMQP1.0 plugin is enabled then the AMQP 1.0 JMS client
should work with it.  In order to send messages to the RabbitMQ broker
without AMQP 1.0 then you need to use the separate Qpid AMQP
0-8/9/9-1/10 client.  This is known to work albeit with a few
limitations (the RabbitMQ broker doesn't support JMS selectors for

>> The below shows the broker refusing the producer creation with an
>> amqp:not-found error, which is because the queue didn't exist. As per
>> the examples README file, the Queue needs to exist on the broker
>> before you run the example (or you need to use a broekr that creates
>> destinations automatically, which the Java broker does not).
> I am still curios about the reason behind not allowing the broker to
> create a queue automatically like in other brokers (ie. RabbitMQ).
> I know I can create a queue automatically using JMX :
> http://qpid.apache.org/releases/qpid-0.32/java-broker/book/Java-Broker-Management-Channel-JMX.html#Java-Broker-Management-JMX-Example-Client
> But still, why something like this doesn't exist out of the box ?

So there's a couple of reasons not to create queues automatically if
they don't exist:

1) The queue name you are using might actually be incorrect/a
misconfiguration.  If you intended to send to queue "robert" but made
a mistake in your configuration and instead configured the queue name
on the client to be "robet", then you'd want it to fail, rather than
the publisher look like it succeeded but the consumers be sat waiting
for messages at the correct queue.
2) Just sending to (or attempting to receive from) an address doesn't
actually give the broker enough information to create the destination
- did the client want a queue or a topic?  Does it want the queue
stored durably or not?  Who should have permission to publish/receive
from the queue, etc.

Admittedly it may be useful to provide an option to say something like
"attempting to publish/receive from an address with a name matching
<pattern> will automatically create a queue/topic" - I think the C++
broker may have something like this... Potentially we could also add
this to the Java Broker.

-- Rob

> Thank you eveyone.
>>> [1257130887:0] <- Open{
>>> containerId='866d40c9-6be8-4456-95f1-165138b3fdc6', hostname='null',
>>> maxFrameSize=32768, channelMax=255, idleTimeOut=null,
>>> outgoingLocales=null, incomingLocales=null, offeredCapabilities=null,
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org

To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org

View raw message