[rabbitmq-discuss] STOMP & AMPQ

Lionel Cons lionel.cons at cern.ch
Thu Feb 11 07:36:14 GMT 2010


First of all, I've tried to use the RabbitMQ STOMP gateway and it
worked flawlessly.

This said, the way it works (see for instance the topic example in
http://dev.rabbitmq.com/wiki/StompGateway#section_2) looks like
bricolage to me.

As an illustration, using my Net::STOMP Perl module, a topic
subscription in ActiveMQ would look like:

  $stomp->subscribe(destination => "/topic/some.test");

but in RabbitMQ you would have to write:

  $some_test_id = $stomp->uuid();
  $stomp->subscribe(
      destination => "",
      exchange    => "amq.topic",
      routing_key => "some.test"
      id          => $some_test_id,
  );

Several different brokers support STOMP but unfortunately it is very
hard to write broker independent code on top of STOMP.

Coming back to AMQP, since objects could be created dynamically via a
simple STOMP SUBSCRIBE frame, it would be good to be able to control
some attributes _explicitly_ rather than relying on hacks like
"destination:" to create a private queue. FWIW, similar hacks exist
also outside the AMQP world, like "destination:/temp-queue/foo" in
ActiveMQ.

In any case AMQP 1-0 will require a change of the STOMP gateway to
expose the new nodes, links, filters... Time for a clean mapping
between AMQP and STOMP?

Cheers,
__________________________________________________________
Lionel Cons        http://cern.ch/lionel.cons
CERN               http://cern.ch




More information about the rabbitmq-discuss mailing list