+ @Autowired
+ Executor executor;
+ @Autowired
+ Consumer<?, ?> kafkaConsumer;
+ @Autowired
+ SimpleConsumer simpleConsumer;
+
+ @Override
+ public void run(ApplicationArguments args) throws Exception
+ {
+ log.info("Starting SimpleConsumer");
+ executor.execute(simpleConsumer);
+ }
+
+ @PreDestroy
+ public void shutdown() throws ExecutionException, InterruptedException
+ {
+ log.info("Signaling SimpleConsumer to quit its work");
+ kafkaConsumer.wakeup();
+ }
+
+