Поставщик свойств-заполнителей Blueprint

В схеме OSGi я могу получить параметры из свойства-заполнителя <cm:property-placeholder persistent-id="id" update-strategy="reload"/>., но эти параметры будут загружены из .cfg. Мне нужно загрузить параметры из базы данных, могу ли я установить поставщика параметров для свойства-заполнителя?


person Albert Ashrafzyanov    schedule 19.04.2016    source источник


Ответы (1)


Свойство-заполнитель См: свойство-заполнитель может передавать свойства только из администратора конфигурации. Таким образом, нет простого решения, просто настроив какой-нибудь xml.

Добиться этого можно тремя способами:

  1. Вы можете написать серверную часть ConfigAdmin, которая извлекает конфигурации из базы данных.
  2. Вы можете написать свое собственное пространство имен blueprint, которое реализует элемент, подобный элементу свойства-заполнителя, и извлекает конфигурации из базы данных.
  3. Более простым решением было бы установить пакет в вашей среде выполнения, который читает базу данных и использует службу ConfigurationAdmin для создания конфигураций в соответствии с содержимым базы данных.

Поэтому я бы выбрал 3-е решение. Хорошим побочным эффектом этого является то, что после того, как вы записали конфиги, не будет простоя, если база данных выйдет из строя.

person Christian Schneider    schedule 19.04.2016