...
Code Block | ||||
---|---|---|---|---|
| ||||
/** * Implementations of this will provide the ability to wrap a given StateStore * with or without caching/loggging etc. */ public interface StateStoreBuilder<TStoreBuilder<T extends StateStore> { StateStoreBuilder<T>StoreBuilder<T> withCachingEnabled(); StateStoreBuilder<T>StoreBuilder<T> withLoggingEnabled(Map<String, String> config); StateStoreBuilder<T>StoreBuilder<T> withLoggingDisabled() T build(); Map<String, String> logConfig(); boolean loggingEnabled(); } |
...
Code Block |
---|
/** * A store supplier that can be used to create one or more {@link SessionStore} instances of type <Byte, byte[]> */ public interface SessionBytesStoreSupplier extends StoreSupplier<SessionStore<Bytes, byte[]>> { /** * The size of a segment, in milliseconds. Used when caching is enabled to segment the cache * and reduce the amount of data that needs to be scanned when performing range queries * * @return segmentInterval in milliseconds */ long segmentIntervalsegmentIntervalMs(); } |
Proposed Changes
Add the above methods, interfaces, classes to the DSL. Deprecate existing overloads on KStream, KTable, and KGroupedStream that take more than the required parameters, for example, KTable#filter(Predicate, String) and KTable#filter(Predicate, StateStoreSupplier) will be deprecated. StateStoreSupplier will also be deprecated
...