Spring cloud SpringCloud3.1关于如何在SpringBoot应用程序中使用KTable的文档
我很难找到任何关于我可以在哪里使用SpringCloudStreams的文档,这些文档将Kafka主题放在一个KTable中。 例如,在这里查找了文档之后,在SpringBoot中使用注释实现这一点的方法没有什么是非常具体的。 我希望我可以使用KStream创建一个简单的KTable,其中在我的application.properties中有:Spring cloud SpringCloud3.1关于如何在SpringBoot应用程序中使用KTable的文档,spring-cloud,spring-cloud-stream,spring-cloud-stream-binder-kafka,Spring Cloud,Spring Cloud Stream,Spring Cloud Stream Binder Kafka,我很难找到任何关于我可以在哪里使用SpringCloudStreams的文档,这些文档将Kafka主题放在一个KTable中。 例如,在这里查找了文档之后,在SpringBoot中使用注释实现这一点的方法没有什么是非常具体的。 我希望我可以使用KStream创建一个简单的KTable,其中在我的application.properties中有: spring.cloud.stream.bindings.process-in-0.destination:我的主题 然后在我的配置中,我希望我能做这样
spring.cloud.stream.bindings.process-in-0.destination:我的主题
然后在我的配置中,我希望我能做这样的事情
@Bean
public Consumer<KStream<String, String>> process() {
return input -> input.toTable(Materialized.as("my-store"))
}
@Bean
公共消费者过程(){
return input->input.toTable(物化的.as(“我的商店”))
}
请告知我遗漏了什么?如果您只想使用卡夫卡主题中的数据作为
KTable
,那么您可以按如下方式执行
@Bean
public Consumer<KTable<String, String>> process() {
return input -> {
};
}
您还可以执行问题中的操作,即将其作为
KStream
接收,然后转换为KTable
。然而,如果这就是您需要做的全部,那么您可能会像我在这里建议的那样首先将其作为KTable
接收。Spring如何知道在本例中使用哪个主题?我想通过查询这些数据来获得一条记录,您可以像在任何其他SpringCloudStream应用程序中一样提供主题。在这个特定的示例中,它将是spring.cloud.stream.bindings.process-In-0.destination=
。我还需要在REST样式的控制器中从这个ktable读取数据,这将如何反馈到这个ktable中?我知道InteractiveQueryService,所以我怀疑id需要注入它,但是这个查询服务是如何知道这个KTable的呢?
spring.cloud.stream.kafka.streams.bindings.process_in_0.consumer.materializedAs: my-store