Можно ли использовать интерактивный запрос (InteractiveQueryService) в Spring Cloud Stream для класса с аннотацией @EnableBinding или в методе с @StreamListener? Я попытался создать экземпляр ReadOnlyKeyValueStore в предоставленном KStreamMusicSampleApplication классе и методе процесса, но его значение всегда равно нулю.
Мой метод @StreamListener прослушивает несколько KTables и KStreams, и во время топологии процесса, например, фильтрации, я должен проверить, существует ли ключ от KStream в конкретном KTable.
Я попытался выяснить, как сканировать входящий KTable, чтобы проверить, существует ли ключ, но не повезло. Затем я наткнулся на InteractiveQueryService, чей метод get () можно было бы использовать для проверки того, существует ли ключ в хранилище состояний materializedAs из KTable. Проблема в том, что я не могу получить к нему доступ с помощью топологии процесса (@EnableBinding или @StreamListener). Доступ к ним можно получить только снаружи этой аннотации, например, RestController.
Есть ли способ сканировать входящий KTable, чтобы проверить наличие ключа или значения? если нет, то можем ли мы получить доступ к InteractiveQueryService в рамках топологии процесса?