Fix spring.application.name resolution using the ConfigData API

Resolves gh-566.
This commit is contained in:
Mark Paluch
2021-01-25 09:23:38 +01:00
parent ab8c90c33e
commit 4d9ce35f42

View File

@@ -122,7 +122,14 @@ public class VaultConfigDataLocationResolver implements ConfigDataLocationResolv
private static void registerVaultProperties(ConfigDataLocationResolverContext context) {
context.getBootstrapContext().registerIfAbsent(VaultProperties.class, ignore -> {
return context.getBinder().bindOrCreate(VaultProperties.PREFIX, VaultProperties.class);
VaultProperties vaultProperties = context.getBinder().bindOrCreate(VaultProperties.PREFIX,
VaultProperties.class);
vaultProperties.setApplicationName(context.getBinder().bind("spring.application.name", String.class)
.orElse(vaultProperties.getApplicationName()));
return vaultProperties;
});
}
@@ -168,7 +175,7 @@ public class VaultConfigDataLocationResolver implements ConfigDataLocationResolv
Binder binder = context.getBinder();
kvProperties.setApplicationName(binder.bind("spring.cloud.vault.application-name", String.class)
.orElseGet(() -> binder.bind("spring.application-name", String.class).orElse("")));
.orElseGet(() -> binder.bind("spring.application.name", String.class).orElse("")));
kvProperties.setProfiles(profiles.getActive());
return kvProperties;