首页 > 解决方案 > 将自定义 application.yml 配置的子集加载到 Quarkus 中的地图时遇到问题

问题描述

我正在尝试使用 quarkus yaml 扩展作为我的主要配置来源,并且我试图找出从 yaml 文件加载地图的最佳方法。

application.yml:_

quarkus:
  http:
    port: 8080
configuration:
  value:
    name1: test1
    name2: test2
    name3: test3

在代码中,我尝试像这样注入配置值:

@ConfigProperty(name = "configuration.value")
Values value;

其中 Values 包含一个自定义的 Eclipse Microprofile Converter。转换器如下所示:

public class ValueConverter implements Converter<Values> {
    @Override
    public Values convert(String value) {
        // Here there would be the actual code to convert to Map.
        return new Values(map);
    }
}

问题是字符串值是空的,即它没有加载下面的配置。值:

name1: test1
name2: test2
name3: test3

我也尝试过注释一个类@ConfigProperties(prefix = "configuration.value")并在里面有一个地图,但是它不知道如何将它映射到Map预期的......有没有办法创建自定义配置属性转换器?

这是 Eclipse Microprofile 问题吗?这是一个错误吗?这是功能要求吗?:) 或者,有另一种/更好的方法吗?

谢谢您的帮助!

标签: javayamlquarkusmicroprofileeclipse-microprofile-config

解决方案


正如这里的邮件列表中已回答的那样,Eclipse MicroProfile Config 不支持此功能,因此 Quarkus


推荐阅读