Hello,<div><br></div><div>I was right looking at RabbitMQ and STOMP support.</div><div><br></div><div>I have some recommendations which could be useful.</div><div><br></div><div>I find that change 2 might be a problem in some of the cases.</div>
<div>Producers usually don't have a notion of creating the destination, they just like to send a message.</div><div>Removing the possibility to create queues would mean to add the notion of creating queues on producers.</div>
<div>If this notion wouldn't be added the messages sent before the subscription of a consumers will be discarded.</div><div><br></div><div>I find which it would be nice to extend a little the flexibility of the stomp support.</div>
<div>For instance, correct me if I am wrong please, I wasn't able to do the following via pure stomp:</div><div>- create an exchange of type topic and name X</div><div>- create a queue of name Y (durable and not auto-delete)</div>
<div>- add binding between X and Y</div><div>This is translated in what in JMS is called durable subscriber,</div><div>it would be nice to be able to do something like this.</div><div><br></div><div>Stomp component increases interoperability with other messaging brokers,</div>
<div>it would be great to try to have similar behaviors for some of the basic messaging blocks.</div><div>People might be interested in changing messaging broker if similar functionality would be supported.</div><div><br>
</div><div>Change 1 adds flexibility, however I would keep auto creation in SEND phase with a default set of parameters.</div><div>These default parameters could be the most obvious or the one which would allow easy interoperability between different products.</div>
<div><br></div><div>Regards,</div><div>---<br>Massimo Paladin<br><br>email: <a href="mailto:massimo.paladin@gmail.com" target="_blank">massimo.paladin@gmail.com</a><br>website: <a href="http://www.mpaladin.com/" target="_blank">http://www.mpaladin.com</a><br>
flickr's page: <a href="http://flickr.com/photos/massimop" target="_blank">http://flickr.com/photos/massimop</a><br>
<br><br><div class="gmail_quote">On Fri, Jun 24, 2011 at 3:33 PM, Rob Harrop <span dir="ltr"><<a href="mailto:rob@rabbitmq.com">rob@rabbitmq.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
All,<br>
<br>
We're thinking of making some changes to the STOMP adapter and would like to get some feedback before we do.<br>
<br>
----------<br>
Motivation<br>
----------<br>
<br>
We're making these changes to support two main use cases:<br>
<br>
* SUBSCRIBE and SEND to queues created outside of STOMP with arbitrary queue properties (durable, auto-delete, x-message-ttl etc.)<br>
<br>
* Allow STOMP clients to create queues with arbitrary queue properties<br>
<br>
----------------<br>
Proposed Changes<br>
----------------<br>
<br>
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.<br>
<br>
Change 1: Allow extra headers on SUBSCRIBE to control queue properties<br>
<br>
We'll add support for durable, exclusive, auto-delete and everything else as headers on the SUBSCRIBE frame.<br>
<br>
Change 2: Stop creating queues on SEND<br>
<br>
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<br>
<br>
------------<br>
Consequences<br>
------------<br>
<br>
+ Support for all queue attributes<br>
+ Subscribe and send to existing queues<br>
+ Improved SEND performance (no need to ensure queues exist)<br>
- Need to issue a SUBSCRIBE to ensure queues exist<br>
<br>
Please give any feedback you have.<br>
<br>
Regards,<br>
<br>
Rob<br>
______________________________<u></u>_________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">rabbitmq-discuss@lists.<u></u>rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/<u></u>cgi-bin/mailman/listinfo/<u></u>rabbitmq-discuss</a><br>
</blockquote></div><br></div>