[rabbitmq-discuss] error: "Pipelining of requests forbidden" on C# client
jerryk at vmware.com
Wed Dec 15 16:56:29 GMT 2010
Steven: Is there any chance that the channel instance on which you're doing this work is being used by more than one thread?
In the .NET client one expects this error when something tries to queue up more than one RPC continuation in the internal continuation queue at a time. The Rabbit .NET client user guide talks about such thread safety issues:
in some detail in a couple of spots.
The Rabbit Java client has similar restrictions. With both the Java and .NET clients, it makes sense to structure your application so that a unique thread owns a given instance of a non-thread safe Rabbit client resource (e.g. Channels in the Java client, IModel in the .NET).
On Dec 15, 2010, at 8:28 AM, Steven Taylor wrote:
Got this error: "Pipelining of requests forbidden"
Found a reference in the documentation (see below). As part of the "I assert queue exists" logic, I was (re-)declaring the exhange. Is that wrong?
Could it be a threading issue?
s being thrown from a method in class RpcContinuationQueue
"Pipelining of requests forbidden" (which occurs in situations where
more than one AMQP RPC, such as
ExchangeDeclare, is run simultaneously).
More information about the rabbitmq-discuss