title: Camel RabbitMQ consumer: what's the interaction between concurrentConsumers and threadPoolSize options?
body: <p><a href="http://camel.apache.org/rabbitmq.html" rel="noreferrer">Camel RabbitMQ component</a> allows setting both the option <code>concurrentConsumers</code> and <code>threadPoolSize</code>. Their description and defaults is as follows:</p>
  
  <blockquote>
    <p><code>concurrentConsumers</code> - default 1 - Number of concurrent consumers
    when consuming from broker. (eg similar as to the same option for the
    JMS component).</p>
    
    <p><code>threadPoolSize</code> - default 10 - The consumer uses a Thread Pool
    Executor with a fixed number of threads. This setting allows you to
    set that number of threads.</p>
  </blockquote>
  
  <p>Could someone explain how these two will interact, particularly from the performance standpoint?</p>
  
  <p>In particular, going into nuance a bit:</p>
  
  <ol>
  <li>Are they roughly interchangeable? I.e. is it roughly true that 2 consumers, 5 threads ~ 5 consumers, 2 threads?</li>
  <li>Does each concurrent consumer get as many threads as specified in <code>threadPoolSize</code> or are these threads shared between all concurrent consumers?</li>
  </ol>
  
  <p>Many thanks!</p>