...
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
...