我有一个springBoot应用程序,其中有一些可以启动并正常运行的bean。它还有一个@Service
和一个@KafkaListener
,我需要在主线程中运行。
KafkaListener不是线程安全的,我认为它不能是@Async
。我不想剥离很多线程,它只能在单个线程上运行。
SpringApplication.run(myApp.class, args);
}
@Service
public class SubscriberService {
@KafkaListener(topics = "symbols", groupId = "group_id", topicPartitions = {@TopicPartition(topic = "topicName", partitionOffsets = @PartitionOffset(partition = "#{topicUtil.getPartition()}", initialOffset = "0"))})
public void getSymbols(String message) throws IOException {
//do some stuff with each message from kafka
}
如何让spring在主线程之外的单独线程上运行它?