alibaba / jetcache

JetCache is a Java cache framework.
Apache License 2.0
5.04k stars 1.05k forks source link

在jetcache-autoconfigure是否考虑改用`@ConfigurationProperties`的方式读取配置文件 #907

Open Kagenui-yozuru opened 1 month ago

Kagenui-yozuru commented 1 month ago

同#722 中提出的问题一样 在SpringBoot的各个Starter中我观察到主要是通过ConfigTree这个类来读取SpringBoot的配置文件的。这会导致填写配置文件时不明确有哪些可配置的key。 使用@ConfigurationProperties配合spring-boot-configuration-processor可以达到编辑配置文件时有明确提示的效果。 但是需要修改的代码比较多,是否有这方面重构的意愿?如果有的话我将会在近期提一个PR。

areyouok commented 1 month ago

修改以后是否还能兼容以前的配置文件呢?

Kagenui-yozuru commented 1 month ago

是兼容的。 我刚才又了解到还有一个解决方案。 只需要在各个starter模块中添加并编写 src/main/resources/META-INF/spring-configuration-metadata.json就可以在不修改目前代码的前提下实现上述需求。 只是这种方案需要在配置文件格式变动时维护这几个configuration-metadata.json文件。

areyouok commented 1 month ago

如果能保持兼容,又能给大家带来帮助,当然是可以的。

我不太懂这个,你可以评估一下是否还有什么潜在的负面影响,比如是否会增加复杂度,是否增加了新的潜规则,是否会影响测试什么的。

Kagenui-yozuru commented 1 month ago

ok👌🏻