[rabbitmq-discuss] are multiple threads per connection ok for java api?

Michael Klishin michael.s.klishin at gmail.com
Fri Jul 8 16:16:29 BST 2011


2011/7/8 Jim Irrer <irrer at umich.edu>

> For the Java client API, the RabbitMQ documentation says that
> a single channel should not be used by more than one thread, but
> it does not explicitly say anything about connections.
>
>
AMQP assumes that one connection is typically used by more than one channel.
So


> Is it ok to have multiple threads (each with their own channel)
> sharing the same connection?
>

if channels are not shared between threads, then yes.


> Is there some advantage (performance
> or otherwise) to using a single connection verses multiple ones?
>

If all connections use the same credentials and connect to the same
broker/vhost, then no
(this should read: in vast majority of cases, no).


>  BTW - I'm assuming that each connection corresponds to a
> socket, and so opening lots of them consumes a somewhat limited
> system resource.
>

Long story short, this is true. Each connection has a frame handler that
opens a new socket.
-- 
MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110708/a5323b43/attachment.htm>


More information about the rabbitmq-discuss mailing list