qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Sim <g...@redhat.com>
Subject Re: RabbitMQ JMS Client
Date Fri, 08 Jul 2011 13:01:03 GMT
On 07/07/2011 04:40 PM, Tom Arnold wrote:
> Hi all,
>
> I'm interested in talking to a RabbitMQ broker through a JMS client.
>
> It looks like Rabbit's interop page (
> http://www.rabbitmq.com/interoperability.html) is a bit out of date (Rabbit
> 2.0.0). I've tried using Qpid's JMS client without much success (it doesn't
> seem to want to negotiate protocol version), and OpenAMQ's JMS client seems
> to have disappeared.
>
> Does anyone have Qpid (or any other JMS client) working with Rabbit?

I had a go at this... but without real success. The first thing is to 
make sure you have the virtual host correctly set. I set it to '/' and 
with guest/guest managed to connect.

However I have as yet been unable to send messages. To connect to 
RabbitMQ the client has to use AMQP 0-9-1 and my initial attempts to 
sent to a queue or topic defined in jndi properties met with the 
following error:

java.lang.UnsupportedOperationException: The new addressing based sytanx 
is not supported for AMQP 0-8/0-9 versions

If I use the first two types of configuration mentioned in the example 
at https://cwiki.apache.org/qpid/how-to-use-jndi.html (i.e. queue.xyz = 
or topic.xyz = ) then the 0-9-1 path incorrectly issues 
exchange-declares without the passive flag set (for amq.direct or 
amq.topic respectively).

I have as yet been unable to use the third form (which I believe should 
in theory allow me to use another exchange and workaround the above 
bug). If I specify -Dqpid.dest_syntax=BURL then I get an error looking 
up my JNDI name. If I don't have that system property I get the above 
error on incorrect 'sytanx'.

If I then try using 
Session.createTopic("BURL:topic://amq.topic?routingkey='stocks.nyse.ibm'") 
('url' taken from https://cwiki.apache.org/qpid/bindingurlformat.html)

I get: java.net.URISyntaxException: Error occured while parsing URL at 
index 47: topic://amq.topic?routingkey='stocks.nyse.ibm'%^
Caused by: java.lang.ArrayIndexOutOfBoundsException: 47
	at 
org.apache.qpid.url.BindingURLParser.extractExchangeName(BindingURLParser.java:227)

I get the same if I remove the 'BURL:' and go back to 
-Dqpid.dest_syntax=BURL.  Likewise the same type of error occurs if I 
change the binding url to another example 
(direct://amq.direct/SimpleQueue) and use createQueue() instead of 
createTopic().

At this point I am out of ideas; can anyone suggest a way of getting 
something working here? Is there a JIRA open for the non-passive declare 
problem?



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


Mime
View raw message