【问题标题】:Use dynamic properties using Dropwizard,Hystrix and Archaius使用 Dropwizard、Hystrix 和 Archaius 使用动态属性
【发布时间】:2014-12-18 06:02:39
【问题描述】:

我正在尝试使用 DropWizard 中的 yml 文件将 Dropwizard 与 Hystrix 和 Archaius 一起使用。我需要在运行时动态更改 Archaius 属性文件值。我怎么做 ?我查看了以下链接,并且能够通过扩展 Configuration 类并将其传递给 Application 子类来从 YML 属性文件中获取键值数据: http://christopher-batey.blogspot.com/2014/08/using-hystrix-with-dropwizard.html

我想使用 Archaius 在运行时动态配置这些属性值。我怎样才能做到这一点 ? 将 Tenacity 与 Breakerbox 一起使用对于我需要的东西来说太过分了。 上面的文章提到了这个:“然后扩展您安装的配置以包含动态配置源,例如 ZooKeeper。”-如何在不使用 Zookeeper 的情况下做到这一点,只要我可以更改一个属性文件并让 Hystrix 拿起改变。

TIA, 维杰

【问题讨论】:

  • 另一种动态更改配置的方法已发布here

标签: dropwizard hystrix


【解决方案1】:

Dropwizard 将在启动时读取一次 YAML 文件。 YAML 文件在运行时的更改在上面给出的示例中不起作用。

Getting Started 中描述了适合您的最简单的事情

完全跳过 YAML 配置,删除 ConfigurationManager.install() 部分,将运行时配置放在单独的 Java 属性文件中,并指定 archaius.configurationSource.additionalUrls 系统参数。您的 dropwizard 命令行如下所示:

java -Darchaius.configurationSource.additionalUrls=file:///apps/myapp/application.properties -jar mydropwizard.jar server config.yml

如文档中所述,URL 可以在网络上,也可以是本地文件。

在更精细的解决方案中,您可以在 YAML 文件中指定 URL,并使用您从 YAML 文件中收到的 URL 创建 DynamicURLConfiguration。

最好的问候, 亚历山大。

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 2017-12-03
    • 2016-06-30
    • 2011-06-17
    • 2016-06-13
    • 2015-08-31
    • 2016-10-26
    • 2014-11-10
    • 2012-11-25
    相关资源
    最近更新 更多