Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The public interface changes above directly imply what needs to be changed in KStream:  The process etc methods would get state store names from the list of StoreBuilders that the supplier provides, rather than the var args stateStoreNames. 

Additionally, the process method would add the StoreBuilders to the topology using builder.addStateStore() rather than requiring the user to do it themselves.  In order to solve the problem of addStateStore potentially being called twice for the same store (because more than one Supplier specifies it), the check for duplicate stores in addStateStores will be relaxed so allow for duplicates if the same StoreBuilder instance for the same store name.

Compatibility, Deprecation, and Migration Plan

...

No migration tools are required since it's a relatively minor library change.

Alternatives

...

Have the added method on the Supplier interfaces only return store names, not builders

...