Могу ли я создать отдельный файл свойств для пакета 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].
[2] http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/compendium.html