Hi Everyone,
Something that has been bugging me for a while is that if I am using Kafka I need to use more config than most other extensions, as I need to configure the connections in application.properties.
IMHO in a lot of cases this 'config' is not really something that will be overridden, but is a fundamental feature of the behaviour of the application (e.g. the serializer and deserializer types are not the sort of thing that you would expect to override, it's not really config, it's just part of the app).
To work around this I was thinking it could be useful to provide some extension annotations that allow for Kafka to be configured via annotation at the usage site, rather than in the config file.
Basically the annotations would look something like this (but with all the kafka options, not just the ones used in the quickstart):
You could then just apply them at the usage site and use them to configure Kafka:
Internally this should just output the relevant config, to still allow everything to be overridden via config as it can be now, but IMHO this is a much nicer and more user friendly way to wire up the endpoints.
Does this sound worthwhile? I think the implementation is pretty simple so I am happy to take it on if this is something that we think we want.
Stuart