2016-04-19 5 views
0

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

ответ

0

Свойство-заполнитель Заполнитель свойств cm: может содержать только свойства из config admin. Таким образом, нет простого решения, просто настроив некоторый xml.

Есть три способа для достижения этой цели:

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^