title: Spring Integration worker queue
body: <p>I'm (very) new to Spring integration and looking to achieve the following;</p>
  
  <ul>
  <li>I have one channel - called the <code>work-channel</code> </li>
  <li>I have 3 distinct
  worker(s); <code>Alice</code>, <code>Bob</code>, <code>Claire</code> </li>
  <li>Alice, Bob &amp; Claire each take between
  5-10 seconds to respond</li>
  <li>A <code>Message</code> is posted onto the <code>work-channel</code> and the work is deemed completed when process by an Alice, Bob and Claire and they can work in parallel </li>
  <li>There is 10 instances of each <code>Alice</code>, <code>Bob</code> &amp; <code>Claire</code> (30 instances in total)</li>
  </ul>
  
  <p>I'm simply looking to see what this pattern is called and what Endpoints you would use in Spring integration to be sure that all 3 workers process the request only ONCE and post their results to an <code>output-channel</code> but there are many workers listening on the same <code>work-channel</code> queue - I don't what to code something like an <code>AliceManager</code> and use  <code>threadexecutors</code> internally but have spring-integration handle the full concurrency - is this possible? </p>
  
  <p>I will have a single gateway, e.g. <code>workersGateway.pushJobToWorks(job)</code></p>