[rabbitmq-discuss] Feedback on STOMP changes

Massimo Paladin Massimo.Paladin at cern.ch
Fri Jun 24 15:16:53 BST 2011


I was right looking at RabbitMQ and STOMP support.

I have some recommendations which could be useful.

I find that change 2 might be a problem in some of the cases.
Producers usually don't have a notion of creating the destination, they just
like to send a message.
Removing the possibility to create queues would mean to add the notion of
creating queues on producers.
If this notion wouldn't be added the messages sent before the subscription
of a consumers will be discarded.

I find which it would be nice to extend a little the flexibility of the
stomp support.
For instance, correct me if I am wrong please, I wasn't able to do the
following via pure stomp:
- create an exchange of type topic and name X
- create a queue of name Y (durable and not auto-delete)
- add binding between X and Y
This is translated in what in JMS is called durable subscriber,
it would be nice to be able to do something like this.

Stomp component increases interoperability with other messaging brokers,
it would be great to try to have similar behaviors for some of the basic
messaging blocks.
People might be interested in changing messaging broker if similar
functionality would be supported.

Change 1 adds flexibility, however I would keep auto creation in SEND
phase with a default set of parameters.
These default parameters could be the most obvious or the one which would
allow easy interoperability between different products.

Massimo Paladin

email: massimo.paladin at gmail.com
website: http://www.mpaladin.com
flickr's page: http://flickr.com/photos/massimop

On Fri, Jun 24, 2011 at 3:33 PM, Rob Harrop <rob at rabbitmq.com> wrote:

> All,
> We're thinking of making some changes to the STOMP adapter and would like
> to get some feedback before we do.
> ----------
> Motivation
> ----------
> We're making these changes to support two main use cases:
> * SUBSCRIBE and SEND to queues created outside of STOMP with arbitrary
> queue properties (durable, auto-delete, x-message-ttl etc.)
> * Allow STOMP clients to create queues with arbitrary queue properties
> ----------------
> Proposed Changes
> ----------------
> Currently, the STOMP adapter automatically creates the necessary queues
> when issuing SEND and SUBSCRIBE frames. Queues are created with a hard-coded
> set of properties that depends on the destination type.
> Change 1: Allow extra headers on SUBSCRIBE to control queue properties
> We'll add support for durable, exclusive, auto-delete and everything else
> as headers on the SUBSCRIBE frame.
> Change 2: Stop creating queues on SEND
> Because queue.declare requires queue attributes to be semantically
> equivalent, issuing a queue.declare on SEND means that each SEND frame would
> also need to carry the queue attributes in the header
> ------------
> Consequences
> ------------
> + Support for all queue attributes
> + Subscribe and send to existing queues
> + Improved SEND performance (no need to ensure queues exist)
> - Need to issue a SUBSCRIBE to ensure queues exist
> Please give any feedback you have.
> Regards,
> Rob
> ______________________________**_________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.**rabbitmq.com<rabbitmq-discuss at lists.rabbitmq.com>
> https://lists.rabbitmq.com/**cgi-bin/mailman/listinfo/**rabbitmq-discuss<https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110624/93d919f1/attachment-0001.htm>

More information about the rabbitmq-discuss mailing list