В схеме OSGi я могу получить параметры из свойства-заполнителя <cm:property-placeholder persistent-id="id" update-strategy="reload"/>.
, но эти параметры будут загружены из .cfg. Мне нужно загрузить параметры из базы данных, могу ли я установить поставщика параметров для свойства-заполнителя?
Поставщик свойств-заполнителей Blueprint
Ответы (1)
Свойство-заполнитель См: свойство-заполнитель может передавать свойства только из администратора конфигурации. Таким образом, нет простого решения, просто настроив какой-нибудь xml.
Добиться этого можно тремя способами:
- Вы можете написать серверную часть ConfigAdmin, которая извлекает конфигурации из базы данных.
- Вы можете написать свое собственное пространство имен blueprint, которое реализует элемент, подобный элементу свойства-заполнителя, и извлекает конфигурации из базы данных.
- Более простым решением было бы установить пакет в вашей среде выполнения, который читает базу данных и использует службу ConfigurationAdmin для создания конфигураций в соответствии с содержимым базы данных.
Поэтому я бы выбрал 3-е решение. Хорошим побочным эффектом этого является то, что после того, как вы записали конфиги, не будет простоя, если база данных выйдет из строя.
person
Christian Schneider
schedule
19.04.2016