java - 使用spring boot时如何配置动态属性?

标签 java spring spring-boot apache-zookeeper etcd

我打算在我的作业中使用 Spring Boot。它是一个连接到数据库的典型服务器应用程序。我知道我可以使用 Spring Configuration将我的属性外部化,例如数据库连接详细信息。但我还有其他需要在运行时更新的 dynamic 属性。例如鳍状肢/功能标志。我的应用程序的某些功能需要动态控制,例如想象一个像 app.cool-feature.enable=true 这样的属性,然后在一段时间后 app.cool-feature.enable=false

关于在运行时摄取这种动态行为的最佳做法是什么?我可以想到以下选项来触发更改...

  • 通过上述属性更改向服务器实例发送 JMS 消息
  • 在服务器实例上调用公开的 API 端点,例如发布 http://myapp/admin/config/update { “配置”:{ “app.cool-feature.enable”:真 } }

我知道我可以编写自己的自定义代码来实现它(这将是第三次),但我只是想知道是否已经存在我不知道的围绕动态属性配置的标准方式/常见做法。如果它可以与 Apache ZooKeeper、coreos etcd、Netflix curator 等其他解决方案一起使用并与 Spring 紧密集成,那就太好了。

想法?

最佳答案

您的需求是“Spring Cloud Config”的一个很好的用例,您不仅可以将所有配置集中放置,还可以动态刷新它们,然后您的引用应用程序可以从下一刻开始选择这些配置.引用这个标准 Spring link一样的。

关于java - 使用spring boot时如何配置动态属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28756014/

相关文章:

java - zxing 条码扫描器不返回结果

java - 为什么 android.os.Bundle 是最终类?

Spring Webflow DataBinding 通过构造函数绑定(bind)到不可变对象(immutable对象)?

java - 何时在 Spring MVC 中为 Controller 使用请求范围的 beans 而不是单例 beans

java - 在 Spring RedisTemplate 中使用 TTL 的 Redis MSET

java - 无法显示小程序

java - 如何在maven中默认排除特定库?

spring - 如何使用Spring JPA存储库区分计数

java - 使用 Spring Boot Maven 插件时,jar 文件中缺少 Spring Boot 应用程序中的资源

java.lang.NoClassDefFoundError : com/google/gson/Gson