THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
package org.apache.kafka.streams.internals; public class MockStoreFactory<K, V extends StoreBuilder>V> { final String storeName; final Serde<K> keySerde; final Serde<V> valueSerde; final Time time; final Boolean persistent; public MockStoreFactory (final String storeName, final Serde<K> keySerde, final Serde<V> valueSerde, final Time time) { , this.storeName = storeName; this.keySerde = keySerde; final this.valueSerde = valueSerde;Boolean persistent) { this.timestoreName = timestoreName; } publicthis.keySerde MockKeyValueStoreBuilder createKeyValueStoreBuilder(){= keySerde; return new MockKeyValueStoreBuilder<>(storeName, keySerde, valueSerde, time)this.valueSerde = valueSerde; } public MockWindowStoreBuilder createWindowStoreBuilder(){ this.time = time; return new MockWindowStoreBuilder<>(storeName, keySerde, valueSerde, time) this.persistent = persistent; } public MockSessionStoreBuilderMockKeyValueStoreBuilder createSessionStoreBuildercreateKeyValueStoreBuilder(){ return new MockSessionStoreBuilder<>MockKeyValueStoreBuilder<K,V>(storeName, keySerde, valueSerde, time, persistent); } } |
Each Store builder will have a build method:
...
1) Rebuilding a MockStateStores vs extending an InMemoryStore
- If we are rebuilding the functionality of a store from scratch in memory, it will basically act like an InMemoryStore.
2) Track all calls in a total order.
- Now I haven't get a feature request to track calls within a total order, so now we track the order separately. If there is a need, we can definitely adjust it.