首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过@DynamicPropertySource使用Spring Cloud Vault时出现问题

通过@DynamicPropertySource使用Spring Cloud Vault时出现问题
EN

Stack Overflow用户
提问于 2021-06-14 02:49:25
回答 1查看 166关注 0票数 0

使用TestContainers启动Vault容器时,容器公开的端口是在启动过程中随机选择的。

代码语言:javascript
复制
@Container
static VaultContainer vaultContainer = new VaultContainer<>("vault:1.7.2")
  .withVaultToken(TOKEN)
  .withInitCommand("secrets enable --path foo kv-v2")
  .withInitCommand("kv put foo/app bar=foo");

使用@DynamicPropertySource重写属性

代码语言:javascript
复制
@DynamicPropertySource
static void addProperties(DynamicPropertyRegistry registry) {
   registry.add("spring.cloud.vault.host",()->vaultContainer.getHost());
   registry.add("spring.cloud.vault.port",()->vaultContainer.getFirstMappedPort());
   registry.add("spring.cloud.vault.uri",()->"http://"+vaultContainer.getHost()+":"+vaultContainer.getFirstMappedPort());
   registry.add("spring.cloud.vault.token",()->TOKEN);
}

不起作用,因为Spring Cloud Vault似乎看不到添加的属性。

Spring-Boot 2.5.1Spring-Cloud-Vault-Config 3.0.3中存在此问题。

可以在GitHub上找到一个显示该问题的小项目。

我是不是做错了什么,或者有没有替代配置的方法?

当使用带有@VaultPropertySource而不是Spring-Cloud-VaultSpring-Vault时,事情会按预期工作。

EN

回答 1

Stack Overflow用户

发布于 2021-06-23 15:54:22

根据https://github.com/spring-cloud/spring-cloud-vault/issues/602#event-4926845049的说法,这是一个spring-framework问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67961656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档