See https://docs.spring.io/spring-kafka/docs/1.0.6.RELEASE/reference/html/_reference.html
If you wish to block the sending thread, to await the result, you can invoke the future’s get() method. You may wish to invoke flush() before waiting or, for convenience, the template has a constructor with an autoFlush parameter which will cause the template to flush() on each send. Note, however that flushing will likely significantly reduce performance.