SpringCloud 国营商店
2023-11-29 15:34 更新
使用DSL时,Kafka流会自动创建状态存储。使用处理器API时,您需要手动注册状态存储。为此,您可以使用KafkaStreamsStateStore
批注。您可以指定存储的名称和类型,用于控制日志和禁用缓存的标志等。一旦在引导阶段由绑定程序创建了存储,就可以通过处理器API访问此状态存储。下面是一些执行此操作的原语。
创建状态存储:
@KafkaStreamsStateStore(name="mystate", type= KafkaStreamsStateStoreProperties.StoreType.WINDOW, lengthMs=300000) public void process(KStream<Object, Product> input) { ... }
访问状态存储:
Processor<Object, Product>() { WindowStore<Object, String> state; @Override public void init(ProcessorContext processorContext) { state = (WindowStore)processorContext.getStateStore("mystate"); } ... }
以上内容是否对您有帮助:
更多建议: