Martin,<br><br>Qpid python or RabbitMQ java client compatible with OpenAMQ?&nbsp; I must say, I am impressed with the documentation.&nbsp; Very nice.&nbsp; I am downloading as of now and will give it a try.<br><br>Thanks,<br>joe<br><br><br>
<br><div class="gmail_quote">On Jan 17, 2008 7:08 AM, Martin Sustrik &lt;<a href="mailto:sustrik@imatix.com">sustrik@imatix.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>We have a detailed article about implementing this kind of stuff over<br>AMQP here:<br><br><a href="http://wiki.openamq.org/tutorial:soa" target="_blank">http://wiki.openamq.org/tutorial:soa</a><br><br>It&#39;s not RabbitMQ, but as both products use AMQP, the solution should be
<br>almost identical.<br><font color="#888888"><br>Martin<br></font><div><div></div><div class="Wj3C7c"><br>Tony Garnock-Jones wrote:<br>&gt; Hi Joe,<br>&gt;<br>&gt; joe lee wrote:<br>&gt;<br>&gt;&gt; I have two producers that need to send synchronized message to a queue,
<br>&gt;&gt; where 1 of 3 consumers will consume the message. &nbsp;In this scenario,<br>&gt;&gt; would the producer who sent the message, waits for the status back from<br>&gt;&gt; the consumer, that consumed the message?<br>
&gt;&gt;<br>&gt;<br>&gt; There&#39;s no provision for this kind of synchronisation embedded in AMQP,<br>&gt; but it&#39;s the kind of thing that&#39;s easy to construct on top of AMQP.<br>&gt;<br>&gt;<br>&gt;&gt; In synchronized messaging,
<br>&gt;&gt; would producer and consumer talk directly to each other or the message<br>&gt;&gt; put in queue and consumer consume and reply back to the waiting producer?<br>&gt;&gt;<br>&gt;<br>&gt; The latter - every communication is mediated by a queue.
<br>&gt;<br>&gt; One way you could get what I think you&#39;re after would be to have a setup<br>&gt; like the following diagram, where consumers get handed work items<br>&gt; round-robin from the queue, and each item has a queue name in the
<br>&gt; &quot;reply-to&quot; field of the Basic Properties content header. When the<br>&gt; consumer finishes the job, it replies to the producer by inserting a<br>&gt; message in the reply queue found in the request, with the reply&#39;s
<br>&gt; &quot;correlation-id&quot; field set equal to the &quot;correlation-id&quot; field of the<br>&gt; request. See, for example, classes RpcClient and RpcServer in the main<br>&gt; RabbitMQ java client library.<br>&gt;
<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; Producer &nbsp; -----------------------\<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Producer&#39;s &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reply &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; queue &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Service exchange<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Service queue
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /------+------\<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; \<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;|<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;|
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;|<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; v &nbsp; &nbsp; &nbsp; &nbsp;v &nbsp; &nbsp; &nbsp; &nbsp;v<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Consumers: 1 &nbsp; &nbsp; &nbsp; &nbsp;2 &nbsp; &nbsp; &nbsp; &nbsp;3<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\--------------------------------------<br>&gt;<br>&gt;<br>&gt; Regards,<br>
&gt; &nbsp; Tony<br>&gt;<br><br></div></div></blockquote></div><br>