title: Dynamic scaling with SimpleMessageListenerContainer
body: <p>I am currently looking to implement JMS message consumers using spring wrappers.</p>
  
  <p>After reading the JMS documentation it seems to me that the way to go ahead would be to adopt the asynchronous message delivery model, <a href="https://docs.oracle.com/cd/E19798-01/821-1841/bnceh/index.html" rel="nofollow noreferrer">https://docs.oracle.com/cd/E19798-01/821-1841/bnceh/index.html</a> where the JMS provider would invoke the listener for message delivery instead polling.</p>
  
  <p>However <code>SimpleMessageListenerContainer</code>, the spring wrapper which implements the asynchronous message delivery model doesn't seem to support dynamic scaling of listener instances.</p>
  
  <p><code>DefaultMessageListenerContainer</code>, the spring wrapper which implements the synchronous message delivery model seems to support dynamic scaling.</p>
  
  <p>I wish to understand this. I can't seem to find any explanation in either spring or JMS documents.</p>