<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">May I point out to readers of this thread that the changes described by Rob's note apply only to <i>queues</i>.<div>The present case (where we create a queue on SEND) is where the destination is of the form /queue/*.</div><div><br></div><div>So the proposal will <i>not</i> affect <i>topic</i> pubSub applications, but only point-to-point queue SEND/SUBSCRIBEs.</div><div><br></div><div>It is pertinent that if a publisher sends to a topic for which there are no subscribers, then the message is discarded anyway; so the negative case here is only for SEND before SUBSCRIBE to a <i>specific queue</i>. If that queue was created (and not deleted) beforehand, then all would be well.</div><div><br></div><div>If we continue to create queues on SENDs to non-existent queue destinations, then we have the knotty problem of what properties those queues should have. Leaving this problem to the SUBSCRIBER seems to be natural and predictable as well as having the advantages outlined in Rob's note.<br><div><br class="webkit-block-placeholder"></div><div>We anticipate a STOMP requirement to create a queue (which might be durable, shared, etc) explicitly, just in case some non-subscriber (e.g. a SENDer ?) needs to ensure it exists. &nbsp;This would probably be a non-standard frame command added to our STOMP support, but it <i>could</i> be done, with our proposed changes, by SUBSCRIBE-ing with the appropriate properties, and then UNSUBSCRIBE-ing immediately afterwards. &nbsp;If the queue was NOT auto-deleted then subsequent SENDs could operate successfully.</div><div><br></div><div>No-one seems to have &nbsp;reacted to the throughput performance advantages of the proposal, which might be considerable.</div><div><br></div><div><span class="Apple-style-span" style="font-size: 12px; ">Steve Powell &nbsp;</span><span class="Apple-style-span" style="font-size: 11px; ">(<i>a happy bunny</i>)</span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Georgia; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Georgia; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Georgia; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Georgia; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Georgia; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; "><div style="font-family: Helvetica; font-size: 12px; "><i><font class="Apple-style-span" face="Georgia" size="2"><span class="Apple-style-span" style="font-size: 10px; ">----------some definitions from the SPD----------</span></font></i></div><div style="font-family: Helvetica; font-size: 12px; "><font class="Apple-style-span" face="Georgia" size="2"><span class="Apple-style-span" style="font-size: 10px; "><b>Rigatoni</b>&nbsp;</span><font class="Apple-style-span" size="2"><span class="Apple-style-span" style="font-size: 10px; "><i>n.</i></span></font><span class="Apple-style-span" style="font-size: 10px; ">&nbsp;A prime-ministerial grin.</span></font></div><div style="font-family: Helvetica; font-size: 12px; "><font class="Apple-style-span" face="Georgia" size="2"><span class="Apple-style-span" style="font-size: 10px; "><b>Nigella</b>&nbsp;<i>n.</i>&nbsp;The next bottle-size up from a&nbsp;</span></font><span class="Apple-style-span" style="line-height: 15px; "><font class="Apple-style-span" face="Georgia" size="2"><span class="Apple-style-span" style="font-size: 10px; ">Nebuchadnezzar</span></font></span><font class="Apple-style-span" face="Georgia" size="2"><span class="Apple-style-span" style="font-size: 10px; ">.</span></font></div><div style="font-family: Helvetica; font-size: 12px; "><font class="Apple-style-span" face="Georgia" size="2"><span class="Apple-style-span" style="font-size: 10px; "><b>Homily</b>&nbsp;</span></font><font class="Apple-style-span" face="Georgia" size="2"><span class="Apple-style-span" style="font-size: 10px; "><i>adv.</i>&nbsp;Rather like a frenchman.</span></font></div></span></font></div></div></span></div></span></div></span></span></span>
</div>
<br><div><div>On 25 Jun 2011, at 11:43, Michael Justin wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Am 24.06.2011 15:33, Rob Harrop wrote:<br><br><blockquote type="cite">We'll add support for durable, exclusive, auto-delete and everything<br></blockquote><blockquote type="cite">else as headers on the SUBSCRIBE frame.<br></blockquote><br>The Stomp+JMS bindings page <a href="http://stomp.codehaus.org/Stomp+JMS">http://stomp.codehaus.org/Stomp+JMS</a> has a implementation recommendation for durable subscribers (more ore less implemented in this way in other brokers):<br><br>quote:<br>"<br>If you wish to create a durable topic subscriber you will need to do the following<br><br>* &nbsp;&nbsp;&nbsp;set the client-id header on the CONNECT to a globally unique String for the Stomp connection<br>* &nbsp;&nbsp;&nbsp;set the durable-subscriber-name header on the SUBSCRIBE command.<br><br>The combination of the client-id and durable-subscriber-name uniquely identifies the durable topic subscription. i.e. after you restart your program and re-subscribe, the Broker will know which messages you need that were published while you were away"<br><br><br>For compatibility of Stomp client implementations, RabbitMQ could implement it following this specification.<br><br>Regards,<br>Michael Justin<br><br>_______________________________________________<br>rabbitmq-discuss mailing list<br><a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss<br></div></blockquote></div><br></div></body></html>