gpt4 book ai didi

java - dropwizard:从非文件源读取配置

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:29 25 4
gpt4 key购买 nike

从数据库或 REST 调用中读取 dropwizard 中的配置的正确方法是什么?我有一个用例,我无法拥有包含某些值的 yml 文件,并且应该在启动时通过 REST 调用从预配置的 URL 检索设置/配置。

只在 ApplicationConfiguration 类的 get 方法中调用这些 REST 调用是否正确?

最佳答案

Similar to my answer here ,您可以按照您希望的方式实现 ConfigurationSourceProvider 接口(interface),并通过以下方式配置您的 dropwizard 应用程序以在您的 Application 类上使用它:

@Override
public void initialize(Bootstrap<MyConfiguration> bootstrap){
bootstrap.setConfigurationSourceProvider(new MyDatabaseConfigurationSourceProvider());
}

默认情况下,您返回的 InputStream 被读取为 YAML 并映射到 Configuration 对象。 The default implementation

您可以通过

覆盖它
bootstrap.setConfigurationFactoryFactory(new MyDatabaseConfigurationFactoryFactory<>());

然后你有你的 FactoryFactory :) 返回一个 Factory 读取 InputStream 并返回你的 Configuration .

public T build(ConfigurationSourceProvider provider, String path {
Decode.onWhateverFormatYouWish(provider.open(path));
}

关于java - dropwizard:从非文件源读取配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35292840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com