[rabbitmq-discuss] .Net Cilent/1.8.0: IModel.QueueDelete not working?
matthias at rabbitmq.com
Fri Nov 26 08:54:47 GMT 2010
Simon MacMullen wrote:
> On 26/11/2010 8:19AM, Ovidiu Deac wrote:
>> On Thu, Nov 25, 2010 at 1:11 PM, David Wragg<david at rabbitmq.com> wrote:
>>> In AMQP, the broker signals channel-level errors as part of closing the
>>> channel. So there is no way to reuse a channel after an error. You
>>> will need to open a new channel for further operations.
>> I see. Is this a bug or a feature?
> That's an interesting question. Certainly it annoys a whole bunch of
> people. But there are reasons.
> To come back to your use case - if you're writing automated tests and
> need to clean up when you're finished, try declaring your exchanges
> autodelete. They will then go when the last queue unbinds from them. And
> then either declare queues autodelete - they'll go when the last
> consumer disconnects, or exclusive - they'll go when the creating
> connection goes. You shouldn't have to explicitly delete stuff at all.
Arguably a few of the error conditions AMQP defines shouldn't be errors
at all. Case in point, given that resource declaration is an *assertion*
and thus an idempotent operation, resource deletion should be too
(though I guess the operation should then be called 'retract' ;)
More information about the rabbitmq-discuss