[rabbitmq-discuss] JMS/AMQP use case

Jan Van Besien janvanbesien at gmail.com
Tue Jan 5 14:52:05 GMT 2010


Many thanks for your answers. This already clarified a lot. It also made 
me realise that my question was a bit vague in some parts ;-)

Some further remarks inline:

Alexis Richardson wrote:
> 1. Install and run RabbitMQ
> 2. Set up some queues and bindings (perhaps, one for each of your public topics)
> 3. Publish AMQP messages to RabbitMQ
> 4. Consume AMQP messages from RabbitMQ using a Java client.
> 5. In the same Java client, create JMS messages from the payloads of
> the AMQP and forward them to your JMS system

This sounds like a workable aproach to me. Certainly because my setup 
will even be a bit easier I think.

What I didn't make clear in my initial question is that the JMS 
interface we expose to the "outside" (i.e. the set of topics I 
mentioned) is only used to push data from the internal (JMS) system to 
external clients. From the perspective of the external clients, it is 
read only.

This (I think) means that I wouldn't need to consume AMQP messages from 
RabbitMQ (step 4 and 5 above). I would only need an internal component 
which consumes JMS messages, turns them into AMQP messages and sends 
them to rabbitMQ.
If I understand correctly, the "consume JMS messages" part of that 
component would not depend on rabbitMQ at all (just a JMS message 
listener), and the "turn into AMQP messages and send to rabbitMQ" can be 
done with the rabbitMQ java api.

> *Alternatively*
> 
> Have you looked at STOMP?  If your infra requires JMS based messaging
> inside for some time, then STOMP is one way to cross the language
> barrier.  It's not as powerful as AMQP for defining broker behaviour
> (routing, delivery, qos), but, you don't always need that.

I had never heard of it, but it seems indeed more than enough for my 
simple use case. I'll certainly have a closer look at it.

thanks again,
Jan




More information about the rabbitmq-discuss mailing list