【发布时间】:2019-09-19 17:21:57
【问题描述】:
是否可以在 Spring Cloud Stream 中使用带有 @EnableBinding 注释的类或在带有 @StreamListener 的方法中使用交互式查询(InteractiveQueryService)?我尝试在提供的KStreamMusicSampleApplication 类和处理方法中实例化 ReadOnlyKeyValueStore,但它始终为空。
我的@StreamListener 方法正在侦听一堆 KTables 和 KStreams,并且在流程拓扑(例如过滤)期间,我必须检查 KStream 中的密钥是否已存在于特定 KTable 中。
我试图弄清楚如何扫描传入的 KTable 以检查密钥是否已经存在但没有运气。然后我遇到了 InteractiveQueryService,它的 get() 方法可用于检查 KTable 中的 state store materializedAs 中是否存在密钥。问题是我无法从流程拓扑(@EnableBinding 或@StreamListener)访问它。它只能从这些注释之外访问,例如 RestController。
有没有办法扫描传入的 KTable 以检查键或值是否存在?如果没有,我们可以在流程拓扑中访问 InteractiveQueryService 吗?
【问题讨论】:
标签: java apache-kafka apache-kafka-streams spring-cloud-stream