title: Controlling number of threads in Mule
body: <p>I'm using Mule 3.3.1 Community Edition.</p>
  
  <p>I have a flow that accepts HTTP requests.  This runs successfully.</p>
  
  <pre><code>&lt;flow name="TestFlow"&gt;
      &lt;http:inbound-endpoint exchange-pattern="request-response" 
          host="localhost" port="8088" path="test" doc:name="HTTP" mimeType="text/plain"
          encoding="UTF-8"/&gt;
      &lt;logger level="INFO" category="hello" doc:name="Logger"/&gt;
  &lt;/flow&gt;
  </code></pre>
  
  <p>The service needs to be single-threaded so that messages are handled strictly in the order in which they are received.  My thought was to set maxThreadsActive=1 and maxBufferSize=100 to get my desired behavior.  However, I can't get any control over threads to work.</p>
  
  <p>At this point I'm just trying to get a thread profile working, regardless of the number of threads. I added a threading-profile exactly out of the current version of the Manning book <em>Mule in Action</em>, but Mule rejects it as "Invalid content" and won't run.</p>
  
  <pre><code>&lt;flow name="TestFlow"&gt;
      &lt;threading-profile maxBufferSize="100" maxThreadsActive="20" maxThreadsIdle="10"
          threadTTL="60000" poolExhaustedAction="RUN" /&gt;
  
      &lt;http:inbound-endpoint exchange-pattern="request-response" 
          host="localhost" port="8088" path="test" doc:name="HTTP" mimeType="text/plain"
          encoding="UTF-8"/&gt;
      &lt;logger level="INFO" category="hello" doc:name="Logger"/&gt;
  &lt;/flow&gt;
  </code></pre>
  
  <p>I commented that out and moved up to a configuration block.</p>
  
  <pre><code>&lt;configuration&gt;
      &lt;default-threading-profile maxThreadsActive="20" maxBufferSize="100" 
           poolExhaustedAction="RUN" /&gt;
  &lt;/configuration&gt;
  
  &lt;flow name="TestFlow"&gt;
      &lt;http:inbound-endpoint exchange-pattern="request-response" 
          host="localhost" port="8088" path="test" doc:name="HTTP" mimeType="text/plain"
          encoding="UTF-8"/&gt;
      &lt;logger level="INFO" category="hello" doc:name="Logger"/&gt;
  &lt;/flow&gt; 
  </code></pre>
  
  <p>Mule accepts this, but the service no longer returns; the client simply hangs waiting for a response.</p>
  
  <p>How do I configure my flow so that I can control thread pool size and, once that's done, so that only one thread is available in the pool?</p>