Martin,<br><br>Qpid python or RabbitMQ java client compatible with OpenAMQ? I must say, I am impressed with the documentation. Very nice. 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 <<a href="mailto:sustrik@imatix.com">sustrik@imatix.com</a>> 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'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>> Hi Joe,<br>><br>> joe lee wrote:<br>><br>>> I have two producers that need to send synchronized message to a queue,
<br>>> where 1 of 3 consumers will consume the message. In this scenario,<br>>> would the producer who sent the message, waits for the status back from<br>>> the consumer, that consumed the message?<br>
>><br>><br>> There's no provision for this kind of synchronisation embedded in AMQP,<br>> but it's the kind of thing that's easy to construct on top of AMQP.<br>><br>><br>>> In synchronized messaging,
<br>>> would producer and consumer talk directly to each other or the message<br>>> put in queue and consumer consume and reply back to the waiting producer?<br>>><br>><br>> The latter - every communication is mediated by a queue.
<br>><br>> One way you could get what I think you're after would be to have a setup<br>> like the following diagram, where consumers get handed work items<br>> round-robin from the queue, and each item has a queue name in the
<br>> "reply-to" field of the Basic Properties content header. When the<br>> consumer finishes the job, it replies to the producer by inserting a<br>> message in the reply queue found in the request, with the reply's
<br>> "correlation-id" field set equal to the "correlation-id" field of the<br>> request. See, for example, classes RpcClient and RpcServer in the main<br>> RabbitMQ java client library.<br>>
<br>><br>> Producer -----------------------\<br>> ^ \<br>> | \<br>> |<br>> Producer's |
<br>> reply |<br>> queue v<br>><br>> ^ Service exchange<br>> |<br>> |
<br>> | |<br>> | |<br>> | v<br>> |<br>> | Service queue
<br>> |<br>> | |<br>> | |<br>> | v<br>> | |
<br>> | /------+------\<br>> | / | \<br>> | | | |<br>> | | | |
<br>> | | | |<br>> | v v v<br>> |<br>> | Consumers: 1 2 3<br>> |
<br>> \ |<br>> \ /<br>> \--------------------------------------<br>><br>><br>> Regards,<br>
> Tony<br>><br><br></div></div></blockquote></div><br>