2009-05-27 2 views
11

Мы планируем использовать Configuration Admin Service в качестве основного API для настройки компонентов в нашем приложении на основе OSGi. Было бы хорошо, если бы мы могли повторно использовать некоторую существующую реализацию, поэтому я пытаюсь исследовать и оценивать самые популярные. Я знаю, что есть:Существующие реализации службы администрирования конфигурации OSGi?

Существуют ли какие-либо другие реализации, которые будут рассматриваться?

Также я не смог найти хорошую документацию для этих реализаций. Меня в основном интересуют детали, специфичные для реализации. Например, мне было интересно, как разные реализации сохраняют данные конфигурации (например, несколько файлов свойств? XML-файл? Несколько XML-файлов? База данных ?, ...).

ответ

6

Три общественные реализации которых я знаю, являются

Equinox в о ConfigurationAdmin оказание услуг похоже, не поддерживает точный контроль над политикой сохранения, как это делает Феликс, и реализация Knopflerfish (я только недавно прочитал источник), похожие на Equinox.

Возможно, Felix является последним обновленным и самым надежным.

В настоящее время это единственные, которые я могу найти; на сервере dm мы приняли решение использовать пакет Felix, и теперь его можно получить у SpringSource Enterprise Bundle Repository, где вы можете быстро найти Apache Felix или ConfigAdmin.

+0

Спасибо за подтверждение, мы также решили использовать реализацию Felix Config Admin (вместе с нашей собственной стратегией сохранения). –

7

Администратор конфигурации Felix имеет default implementation, который сохраняется в файловой системе, но они определяют интерфейс службы (org.apache.felix.cm.PersistenceManager) для альтернативных бэкэндов, которые вы могли бы подключить вместо этого.

Реализация по умолчанию выполняет следующие действия:

Данные конфигурации хранит класс FilePersistenceManager в свойства подобных файлов внутри заданной директории. Все файлы конфигурации - , расположенные в том же каталоге.

Конфигурационные файлы создаются в каталоге конфигурации путем добавления расширения «.config» в PID конфигурации. PID преобразуется в относительное имя пути, заменяя закрытые точки на косые черты. Символы несимволического имени в PID закодированы с их кодом символа Юникода в шестнадцатеричном формате.

1

Чтобы закончить ответ дальше: я лично также предпочитаю реализацию Феликса.Пример того, как изменить способ хранения в фоновом контенте с помощью PersistenceManager, см. Также this, в котором используются стандартные файлы свойств Java в качестве резервного хранилища. Имеет некоторые ограничения, но, по крайней мере, позволяет сохранять конфигурацию с вашим приложением и, кроме того, реализовать свою инфраструктуру OSGi.

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

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