我们有一个多模块 Quarkus 项目,带有一个公共(public)库和多个应用程序。
在通用的 lib
中,我们有各种缓存用于所有应用。
我们希望不必在每个应用程序的所有配置文件中配置保留和容量。
有没有一种方法可以在不编写我们自己的ConfigSource
的情况下集中配置。
还是编写我们自己的 ConfigSource
是首选方式?
最佳答案
我能想到三种顶级方法。
- 使用共享服务,例如 Consul , Vault , ConfigMap , 或 Spring Config Server为您的环境提供适当的扩展。
- 将通用配置存储在 config/application.properties 中。参见 Overriding Properties at Runtime第 4 步。只需将 config/application.properties 与您的其他部署工件一起复制到您的部署位置。
- 在您的多模块项目中使用共享配置文件。据我所知,Quarkus 只支持 application.properties、microprofile-config.properties 和 application.yaml 各一个实例。您可以将应用程序属性存储在其中任何一个中,并将共享属性存储在构建期间复制的其余两个属性文件之一中。糟糕,我知道,而且我从来没有尝试过 :-) 我认为你不能指向项目目录之外的配置文件,除了上面的 #2 异常(exception)。优先顺序为 microprofile-config.properties、application.properties,然后是 application.yaml(从最低到最高)。
关于jakarta-ee - 集中 quarkus 的通用配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62471934/