为什么要使用@Autowired在Spring Boot应用程序中运行Kafka Streams拓扑



我正试图在春季启动应用程序中运行Kafka Streams Topology
在合流网站上的示例中,他们做了以下操作:

@Component
class Processor {
@Autowired
public void process(final StreamsBuilder builder) {
// the logic to run the topology which is a blocking call
}
}

我认为@Autowired注释意味着方法进程将由Spring框架调用。

我的问题是:假设对方法进程的调用是阻塞调用这是在spring-boot应用程序中运行拓扑的最佳实践吗?为什么不在单独的线程中运行它?

@Autowired指示Spring将现有StreamsBuilder bean作为参数注入process(...)函数。这是在引导应用程序上下文时完成的,因此它不会阻止正在运行的拓扑结构本身,因为它是通过某种new KafkaStreams(builder.build(), props);作为一个单独的线程启动的

因此,这是绝对可以做的。

相关内容

  • 没有找到相关文章

最新更新