OpenLiberty MP Config示例getProperties()重复调用

问题描述 投票:0回答:2

我尝试了OpenLiberty MP配置示例(guide-microprofile-config),到目前为止它的工作原理。但是当更仔细地分析它时,我发现CustomConfigSource文件中的方法getProperties()在重复中被多次调用。这是我没想到的行为。在InventoryConfig文件中,有静态和动态注入的变量(通过使用“Provider <>”)。但是,只有在调用REST服务时才会调用此代码。所以我的问题是什么一直触发getProperties()?我该怎样防止它。实际上,在我的实现中,我想访问一个数据库并进行查询,我想将逻辑放入getProperties(),现在看来这是一个坏主意。

最好的问候伊戈尔

open-liberty microprofile
2个回答
1
投票

在OpenLiberty中,用户提供的ConfigSources是动态的,因此系统会定期重新读取它们。可以通过设置名为microprofile.config.refresh.rate的系统属性来调整默认刷新间隔。该值以毫秒为单位。如果将其设置为零,那么它根本不会重新生成。有关详细信息,请参阅此处(查找标题为“动态属性值”的部分):

https://www.ibm.com/support/knowledgecenter/en/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/cwlp_microprofile_overview.html

如果您想对未来的MicroProfile Config版本发表评论或做出贡献,请加入https://github.com/eclipse/microprofile-config/


1
投票

顺便说一句,上面描述的行为是Open Liberty实现细节。当前的MicroProfile配置规范并没有强制要求处理动态配置源的方法。即将发布的MicroProfile Config版本将涉及该领域。

© www.soinside.com 2019 - 2024. All rights reserved.