<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 18, 2014 at 2:14 AM, Michael Klishin <span dir="ltr"><<a href="mailto:mklishin@gopivotal.com" target="_blank">mklishin@gopivotal.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><br>
On 18 Feb 2014, at 04:40, Sampat Patle <<a href="mailto:sampatkumar04@gmail.com">sampatkumar04@gmail.com</a>> wrote:<br>
<br>
> I am new to rabbitmq. I would like to know whether is it possible to have multiple channels and multiple listener over single connection using threads.<br>
<br>
</div>You can have multiple channels per connection (in fact, that’s the whole point of channels)<br>
and multiple consumers per connection (or channel). This can be combined with threads.<br>
<br>
Concurrency safety rule of thumb is: don’t share channels between threads, especially<br>
when publishing. Having N threads, 1 per consumer, on the same channel may be safe<br>
depending on client implementation.<br></blockquote><div> </div><div>For rabbitmq-c: a amqp_connection_state_t (a 'connection') should not be used between different threads without synchronization. If you want to have multiple consumers over a single connection, my suggestion is to have a single thread manage consuming from all of the consumers over one connection, then dispatch the messages to different threads for processing as necessary.</div>
<div><br></div><div>-Alan </div></div></div></div>