【问题标题】:Is it possible to refresh AWS parameter store properties in Micronauts是否可以在 Micronauts 中刷新 AWS 参数存储属性
【发布时间】:2019-09-05 16:22:56
【问题描述】:

我有一个应用程序,其配置类用@EachProperty 注释,工厂方法用@EachBean 注释。这适用于启动时属性源中存在的属性。

我正在使用 AWS 参数存储配置客户端来加载属性(只是默认的 Micronauts 参数加载)。

会有在运行时添加新配置的情况。我可以将这些添加到 AWS 参数存储中,但我不确定如何加载这些新属性并使其可用于从工厂方法创建 bean。

这是可能的吗?我会以错误的方式解决这个问题吗?

谢谢。

【问题讨论】:

    标签: micronaut


    【解决方案1】:

    您应该能够使用@Refreshable 注释标记要刷新的bean,并且在应用程序上下文被刷新时,该bean 将被刷新,包括接收可能更新的配置值。刷新上下文的一种方法是调用/refresh 端点,或者它可以以编程方式刷新。有关详细信息,请参阅https://docs.micronaut.io/1.2.0/guide/index.html#refreshable

    希望对你有帮助。

    【讨论】:

    • 我试过这个applicationContext.publishEvent(new RefreshEvent()),但它似乎并没有强制 AWS 参数存储客户端重新加载。使用applicationContext.environment.refresh() 似乎有效,但我担心它有点矫枉过正......
    • /refresh 端点后面的代码位于github.com/micronaut-projects/micronaut-core/blob/…。这演示了一种在环境中刷新差异的方法。
    猜你喜欢
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    相关资源
    最近更新 更多