Table of Contents |
---|
Status
Current state: Under Discussion Accepted
Discussion thread: [DISCUSS] KIP-265: Make Windowed Serde to public APIsTBD
JIRA:
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
And in ConsoleConsumer
class, add the new StreamsConfigs names into its options:, we let the deserializers to configure themselves, so that users can pass the inner serde as part of the message formatter properties with `key.deserializer.` and `value.deserializer.` prefix, which can then eventually be used by the deserailizer configuration logic to set the inner serde class.
Code Block |
---|
val innerKeyDeserializerOptmessageFormatterArgOpt = parser.accepts(StreamsConfig.DEFAULT_WINDOWED_KEY_SERDE_INNER_CLASS)"property", "The properties to initialize the message .withRequiredArg formatter. Default properties include:\n" + .describedAs("inner serde for key when windowed deserialier is used; would be ignored otherwise") .ofType(classOf[String]) val innerValueDeserializerOpt = parser.accepts(StreamsConfig.DEFAULT_WINDOWED_VALUE_SERDE_INNER_CLASS) .withRequiredArg .describedAs("inner serde for value when windowed deserialier is used; would be ignored otherwise") .ofType(classOf[String]"\tprint.timestamp=true|false\n" + "\tprint.key=true|false\n" + "\tprint.value=true|false\n" + "\tkey.separator=<key.separator>\n" + "\tline.separator=<line.separator>\n" + "\tkey.deserializer=<key.deserializer>\n" + "\tvalue.deserializer=<value.deserializer>\n" + "\nUsers can also pass in customized properties for their formatter; more specifically, users " + "can pass in properties keyed with \'key.deserializer.\' and \'value.deserializer.\' prefixes to configure their deserializers.") |
Note that for all windowed serdes, the inner serde can be either passed in during construction, or be configured in the configure
call via the added inner serde classes.
...