Пример конфигурации OpenLiberty MP getProperties() вызывается повторно

Я попробовал образец конфигурации OpenLiberty MP (guide-microprofile-config), пока он работает. Но при более внимательном анализе я обнаружил, что метод getProperties() в файле CustomConfigSource вызывается несколько раз подряд. Это поведение, которого я не ожидал. В файле InventoryConfig переменные вводятся статически и динамически (с помощью "Provider‹>"). Но этот код следует вызывать только тогда, когда я вызываю службу REST. Итак, мой вопрос, что все время вызывает getProperties()? Как я могу предотвратить это. На самом деле с моей реализацией я хочу получить доступ к базе данных и выполнить запрос, и я хотел поместить логику в getProperties(), что сейчас кажется плохой идеей.

с уважением Игорь


person Igor    schedule 12.09.2018    source источник


Ответы (2)


В 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/

person Tom Evans    schedule 17.09.2018
comment
Спасибо за вашу помощь, теперь мое решение рулит! - person Igor; 18.09.2018

Кстати, вышеописанное поведение является деталью реализации Open Liberty. Текущая спецификация MicroProfile Config не предписывает способ работы с источниками динамической конфигурации. В следующем выпуске MicroProfile Config эта область будет рассмотрена.

person Emily Jiang    schedule 17.09.2018
comment
Привет, Эмили, спасибо за ваш ценный ответ, я с нетерпением жду новейшей версии конфигурации MicroProfile и обязательно буду использовать ее с Open Liberty. Функция динамической конфигурации очень поможет мне с вариантами использования, которые у нас есть на данный момент. - person Igor; 18.09.2018