Closed
Description
Not sure what changed. We have a simple setup. The Kafka task used to be started in its own executor, but after upgrading to 1.3.3 it always runs in the main thread. Anything I missed? Thanks in advance for your suggestions and helps.
`
@configuration
@EnableAutoConfiguration
@EnableAsync
@EnableCaching
@EnableSwagger
public class Application implements CommandLineRunner {
@Autowired
private KafkaConsumerTask kafkaTask;
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}
@Override
public void run(String... args) throws Exception {
kafkaTask.start();
}
}
@component
public class KafkaConsumerTask {
@Async("kafkaTaskExecutor")
public void start() {
log.info("starting consumer for topic: " + topic);
...
}
@Bean
public ThreadPoolTaskExecutor kafkaTaskExecutor() {
ThreadPoolTaskExecutor bean = new ThreadPoolTaskExecutor();
bean.setCorePoolSize(numberThreads);
bean.setMaxPoolSize(numberThreads * 2);
bean.setThreadPriority(priority);
bean.setWaitForTasksToCompleteOnShutdown(true);
return bean;
}
}
`
Metadata
Metadata
Assignees
Labels
No labels