Thanks Emile - I&#39;ll try that.<br><br><div class="gmail_quote">On Thu, Nov 11, 2010 at 4:30 AM, Emile Joubert <span dir="ltr">&lt;<a href="mailto:emile@rabbitmq.com">emile@rabbitmq.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Isaac,<br>
<div><div></div><div class="h5"><br>
On 11/11/10 09:04, Isaac Cambron wrote:<br>
&gt; I have an older application that I&#39;m trying to get onto the latest and<br>
&gt; greatest version of Rabbit and the .NET client. I&#39;m having a bit of a<br>
&gt; problem getting it to work the same way across the API changes.<br>
&gt;<br>
&gt; In my old app, I had a simple piece that broadcast to all of my<br>
&gt; consumers who happen to be listening. Let&#39;s say they print the message&#39;s<br>
&gt; content to the console when they get it. It was pretty simple. Each<br>
&gt; consumer just creates a subscription:<br>
&gt;<br>
&gt; Subscription sub = new Subscription(ch, someExchange,<br>
&gt; ExchangeType.Topic, someTopic);<br>
&gt;<br>
&gt; and listened to it. The broadcaster just did this:<br>
&gt;<br>
&gt; ch.BasicPublish(someExchange, someTopic, null, someBytes);<br>
&gt;<br>
&gt; Now, that signature for Subscription no longer exists. I&#39;ve tried stuff<br>
&gt; like this (which matches the old implementation from Subscription.cs):<br>
&gt;<br>
&gt; ch.ExchangeDeclare(EXCHANGE, ExchangeType.Topic);<br>
&gt; ch.QueueDeclare(STATUS_QUEUE);<br>
&gt; ch.QueueBind(STATUS_QUEUE, EXCHANGE, TOPIC, false, null);<br>
&gt; Subscription sub = new Subscription(ch, STATUS_QUEUE, true);<br>
&gt;<br>
&gt; But the behavior I&#39;m seeing is totally different:<br>
&gt;<br>
&gt; 1. Only one of the consumers gets the message and prints something. It&#39;s<br>
&gt; round-robin instead of broadcast.<br>
&gt; 2. When a new consumer is created and subscribes, it gets all of the<br>
&gt; messages I&#39;ve ever put in the queue and prints them to the console.<br>
&gt;<br>
&gt; I&#39;m able to fix #2 by changing noAck to true, but not #1, and I suspect<br>
&gt; I have something very wrong. Any ideas?<br>
<br>
</div></div>Subscriptions have indeed been simplified for release version 2.0.0.<br>
Preceding the use of Subscription with declarations and the binding, as<br>
you have done, is correct.<br>
<br>
If only one consumer gets messages then try setting the channel prefetch<br>
to a small number (e.g. 1) by calling ch.BasicQos() before creating the<br>
subscription.<br>
<br>
Regards<br>
<font color="#888888"><br>
<br>
Emile<br>
</font></blockquote></div><br>