OpenLiberty MP Config Sample getProperties()重复调用

时间:2018-09-12 14:45:24

标签: open-liberty microprofile

我尝试了OpenLiberty MP Config Sample(guide-microprofile-config),到目前为止,它仍然有效。但是当仔细分析时,我发现该方法 多次调用CustomConfigSource文件中的getProperties()。这是我没想到的行为。 在InventoryConfig文件中,有静态和动态注入的变量(通过使用“ Provider <>”)。但是,仅当我调用REST服务时才应调用此代码。所以我的问题是什么总是触发getProperties()?我该如何预防。 实际上,在实现过程中,我想访问数据库并进行查询,并且想将逻辑放入getProperties()中,这似乎是个坏主意。

最好的问候 伊戈尔(Igor)

2 个答案:

答案 0 :(得分: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 :(得分:1)

顺便说一下,上述行为是Open Liberty实现细节。当前的MicroProfile Config规范没有强制处理动态配置源的方法。即将发布的MicroProfile Config版本将解决此问题。