如何从 spring 配置服务器获取多个配置文件?
我有使用 Steeltoe.Extensions.ConfigServerCore.2.2.0 的 c# dotnetcore 3.1 应用程序
我能够获得与 spring 应用程序名称匹配的配置。 即,如果我的应用程序名称是"我的服务",那么我可以使用以下命令获得"my-service.properties"和"application.properties"
var configBuilder = new ConfigurationBuilder()
...
.AddConfigServer();
var config = configBuilder.Build();
如果 spring 应用程序名称与配置服务器中的文件名匹配,则此方法有效。
我尝试了什么
configBuilder.AddConfigServer("external");
var config = configBuilder.Build();
具有不同的环境变体。但我从来没有得到额外的配置。 我做错了什么?
Steeltoe在很大程度上依赖于Config Server的逻辑,通过指定应用程序名称,环境名称和其他标签来查找备份文件。由于 .NET 配置平展到字典中的方式,您稍后不会在应用程序中看到这种情况,但如果缺少您希望看到的配置值,则可能是由于文件名与预期的约定不匹配。
使用AddConfigServer("external")
将导致对"my-service-external.properties"的请求。由于约定中使用破折号将应用名称与环境(或配置文件(名称分开,因此你可能不希望在应用名称中使用它。
此外,自 2.2.0 以来,Steeltoe 已经发布了一些版本,我建议使用最新的 GA 版本(目前为 2.4.3(