I have an older application that I&#39;m trying to get onto the latest and greatest version of Rabbit and the .NET client. I&#39;m having a bit of a problem getting it to work the same way across the API changes.<div><br></div>
<div>In my old app, I had a simple piece that broadcast to all of my consumers who happen to be listening. Let&#39;s say they print the message&#39;s content to the console when they get it. It was pretty simple. Each consumer just creates a subscription:</div>
<div><br></div><div>Subscription sub = new Subscription(ch, someExchange, ExchangeType.Topic, someTopic);</div><div><br></div><div>and listened to it. The broadcaster just did this:</div><div><br></div><div>ch.BasicPublish(someExchange, someTopic, null, someBytes);</div>
<div><br></div><div>Now, that signature for Subscription no longer exists. I&#39;ve tried stuff like this (which matches the old implementation from Subscription.cs):</div><div><br></div><div><div>ch.ExchangeDeclare(EXCHANGE, ExchangeType.Topic);</div>
<div>ch.QueueDeclare(STATUS_QUEUE);</div><div>ch.QueueBind(STATUS_QUEUE, EXCHANGE, TOPIC, false, null);</div><div>Subscription sub = new Subscription(ch, STATUS_QUEUE, true);</div></div><div><br></div><div>But the behavior I&#39;m seeing is totally different:</div>
<div><br></div><div>1. Only one of the consumers gets the message and prints something. It&#39;s round-robin instead of broadcast.</div><div>2. When a new consumer is created and subscribes, it gets all of the messages I&#39;ve ever put in the queue and prints them to the console.</div>
<div><br></div><div>I&#39;m able to fix #2 by changing noAck to true, but not #1, and I suspect I have something very wrong. Any ideas?</div><div><br></div><div>Thanks,</div><div>Isaac</div>