Могу ли я создать отдельный файл свойств для пакета Virgo OSGi?

У меня есть Tomcat Virgo Server. Я развернул пару пакетов OSGi. Я хочу выставить настройки через свойства, чтобы сервис в комплекте мог читать его через Java System.getProperty(String) API. Является ли это возможным?

1 ответ

Решение

Вы должны использовать OSGis ConfigurationAdmin для этого. Вы можете развернуть файлы свойств в [VIRGO_HOME]/pickup, а затем использовать свойства из сервиса ConfigurationAdmin через pid конфигурации. Virgo распознает ваши файлы свойств в своей папке раскладки и автоматически предоставляет их через службу ConfigurationAdmin. Вы также можете перечислить ваши файлы свойств в файле плана, если вы используете планы для развертывания ваших пакетов как приложения.

Пожалуйста, обратитесь к официальной документации на странице документации Дева [1] для получения более подробной информации.

И если вы используете Spring/Blueprint, вы можете придерживаться заполнителя свойства, как вы привыкли. Просто используйте обработчики пространства имен osgix и сделайте что-то вроде этого:

<osgix:cm-properties id="cmProps" persistent-id="com.xyz.myapp">
  <prop key="host">localhost</prop>
</osgix:cm-properties>

По умолчанию, persistent-id или pid - это имя вашего файла свойств. Для дальнейшего ознакомления посмотрите также документацию Gemini Blueprint [2].

[1] http://www.eclipse.org/virgo/documentation/virgo-documentation-3.6.4.RELEASE/docs/virgo-programmer-guide/htmlsingle/virgo-programmer-guide.html

[2] http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/compendium.html

Другие вопросы по тегам