0

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

最好的问候伊戈尔

4

2 回答 2

1

By the way, the above described behavior is Open Liberty implementation detail. The current MicroProfile Config specification does not mandate a way to deal with Dynamic config sources. The upcoming MicroProfile Config release will address this area.

于 2018-09-17T15:16:26.950 回答
1

在 OpenLiberty 中,用户提供的 ConfigSource 是动态的,因此系统会定期重新读取它们。可以通过设置一个名为 的系统属性来调整默认刷新间隔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/

于 2018-09-17T09:36:25.917 回答