title: Why async producer is not waiting for either linger.ms or batch.size to be full when i set them a custom value with autoFlush is set to false?
body: <p>I am using spring-kafka 2.2.8 and writing a simple async producer with the below settings:</p>
  <pre><code>linger.ms : 300000, 
  batch.size: 33554431, 
  max.block.ms: 60000.
  </code></pre>
  <p>Now i'm creating a KafkaTemplate with autoFlush as false by calling the below constructor</p>
  <pre><code>public KafkaTemplate(ProducerFactory&lt;K, V&gt; producerFactory, boolean autoFlush) 
  </code></pre>
  <p>Now i've a simple test producing 10 message in the span of 10 sec using the above async producer and then stopped my producer using 'Cntrl+C'. Then surprisingly, i got all the 10 messages published onto the topic and i'm sure the size of these 10 messages combined is way less than my batch.size: 33554431</p>
  <p>Now i've two questions</p>
  <ol>
  <li>How the messages are being published instead of waiting for either linger.ms or batch.size before producing the message?</li>
  <li>In this scenario, what is the significance of autoFlush= false?</li>
  </ol>