如何在特定线程上运行spring bean

时间:2019-06-19 12:55:52

标签: java spring multithreading spring-boot apache-kafka

我有一个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在主线程之外的单独线程上运行它?

0 个答案:

没有答案