问题标签 [configurationproperties]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
35 浏览

java - @ConfigurationProperties 与基于 XML 的配置

如何重写以下基于注释的配置类:

到基于 XML 的配置类?@ConfigurationProperties具体来说, xml配置中的等价物是什么?

0 投票
0 回答
166 浏览

java - 在 Quarkus 中更改构建时间配置

我正在运行一个基于 Quarkus Rest Easy 的 Java 应用程序,该应用程序从外部应用程序中提取数据以加载其缓存。但是我最近开始收到下面的异常并且似乎无法加载缓存。

我明白那个

resteasy.gzip.max.input 默认设置为 10M

(如https://docs.jboss.org/resteasy/docs/3.0.20.Final/userguide/html/gzip.html#d4e1407中所述)从错误中可以清楚地看出我解压缩数据的大小我收到的比这更高。

因此,我尝试将 quarkus ( https://quarkus.io/guides/all-config#quarkus-resteasy-common_quarkus.resteasy.gzip.max-input ) 中的默认属性更改为更高的值。

但是看起来这是一个构建时间属性,无法更改。

PS:

  1. 我尝试使用自定义值添加 application.properties,但仍然遇到相同的错误。

  2. 尝试将自定义值作为命令行参数传递,但仍然无法使其工作。

似乎我无法更改此属性的值。

有人可以指出我如何在运行时更改此值吗?

谢谢。

0 投票
0 回答
244 浏览

java - Spring 配置属性 - 同一列表中的多态对象

我正在尝试application.yaml通过从配置 bean中读取配置项列表@ConfigurationProperties。该列表可能包含具有已定义基本类型的对象:

application.yaml这是我想象的一个例子:

我发现了一些我认为正在解决这个确切问题的帖子,但到目前为止没有任何建议有效。ConfigurationProperties("myapp.points")我尝试在子类型上玩,Point但如前所述:没有任何效果。

老实说,我想知道解析器应该如何区分类型。一定有一个type参数缺失,类似于我们如何使用 Jackson 将实体转换为 json。

目前,我得到了Point(当我删除abstract修饰符时)和字段的实例value并且state丢失了。

编辑

我想我在找出需要做什么方面取得了一些进展。显然,Spring 正在使用 SnakeYaml 来解析文件,并且该库使用 yaml 标签来指示类型信息,因此我的 yaml 应该看起来像

有一些内置标签,但我需要自己注册。我找到了如何通过扩展来编写自定义构造函数的信息,AbstractConstruct但我找不到任何关于如何使用Yamlspringboot 设置的实例注册它的信息。

我至少在正确的轨道上吗?

编辑

我注意到ConstructorExceptionfrom snakeyaml 在启动过程中出现得这么早,可能无法将 my 添加SafeConstructor到过程中:

0 投票
0 回答
131 浏览

java - 如果在其他地方注入相同的值而没有注释,@ConfigurationProperties 不会更新

我使用 @ConfigurationProperties 和 Zookeeper 在运行时更新某些属性值。

代码的相关部分如下所示:

Bean limitedRepository使用值作为费率,而rateAdjuster是具有预定方法的 bean,它应该根据某些标准调整和设置费率到limitedRepository bean。

所以我的目标是:

  1. 在应用程序运行时设置limitedRepositoryrateAdjuster bean 的所有属性
  2. 当我想更新属性时,我只希望rateLimiter bean 上的属性在运行时更新(limitedRepository上的速率只能由rateAdjuster更新)。

它几乎可以工作。它设置了应有的属性,但发生了一些有趣的事情。

  1. 当我尝试通过 Zookeeper 更新属性四个(它们仅在rateAdjuster bean 中设置)时,它工作正常,rateAdjuster用这些值更新
  2. 当我尝试通过 Zookeeper 更新一个两个属性(它们也在limitedRepository bean 中设置)时,rateAdjuster不会更新
  3. 如果我@ConfigurationProperties(prefix = "some.property")使用limitedRepository()方法,那么所有属性都可以在运行时更新,但这不是我想要的

任何人都可以帮助我了解这里发生的事情并希望找到解决这个问题的方法吗?

0 投票
0 回答
34 浏览

java - 验证 ConfigurationProperties 中的嵌套属性

当我想验证嵌套属性而不实例化它时,我没有得到任何不可为空的异常

}

但是如果我像这样实例化它

我得到了正确的财产验证。有人可以解释一下,为什么我需要实例化属性来正确验证它?

在我的 NestedConfig 类下面

0 投票
0 回答
22 浏览

spring-boot - 在 Spring Boot 中为应用程序 yaml 定义 AppProperties 的正确方法是什么?

在 Spring Boot 中为应用程序 yaml 定义 AppProperties 的正确方法是什么?特别是对于component4-1, component4-2 & component4-3

我现在所做的是在 AppProperties 中定义 Service 类?

0 投票
1 回答
308 浏览

java - 测试读取外部 YML 文件的 Spring 配置属性不起作用

我正在使用 Spring Boot 2.4.8,并且正在将从外部 YML 文件中读取的信息读入 bean:

我定义了一个自定义工厂来读取外部 YML 文件,如文章@PropertySource with YAML Files in Spring Boot中所述:

YML文件的内容如下:

问题是我找不到合适的切片来单独测试配置属性。事实上,下面的测试失败了:

正如我们所说,测试失败并显示以下消息:

然而,如果我不使用任何切片,则测试成功:

我该如何解决这个问题?是否可以将一些初始化程序或类似的东西添加到切片中以使测试成功?

在这里你可以在 GitHub 上找到整个项目。

0 投票
0 回答
126 浏览

micronaut - Micronaut 配置属性中的嵌套默认值

使用 Spring Boot,我们可以执行以下操作:

如果DATASOURCE_URL存在,则不考虑其他所有内容 谢谢!

0 投票
1 回答
343 浏览

java - @ConstructorBinding 似乎在 Spring Boot 2.5.4 中不起作用

我正在使用 Spring Boot 2.5.4 并尝试从属性初始化一个不可变类:

应用程序.yml:

主类:

我希望这会启动并打印“bar”。但是,它无法开始

当我删除@ConstructorBinding并添加一个 setter 和 nullary 构造函数时,它确实有效。

0 投票
0 回答
148 浏览

java - spring.config.import 和 @ConfigurationProperties

我正在尝试从 Spring Boot 2.4 应用程序中的 application.properties 加载一个数组,其中该数组分布在多个属性文件中。

  1. 应用程序属性
  1. one.properties
  1. Java Bean

在启动应用程序时,我遇到以下错误 -

有什么方法可以使这项工作无需在 java 注释中明确提及 one.properties 文件(以及除 application.properties 文件之外的任何其他附加文件)吗?

问候
雅各布