PropertyPlaceholderConfigurer не находит файл свойств на диске - PullRequest
0 голосов
/ 05 февраля 2012

Я пытаюсь перевести рабочую пружинную WAR в среду OSGI (в glassfish 3.1 и blueprint, spring 3.0.5). Приложение загружает файл свойств с диска, например:

<bean id="myProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="${my_conf}/my.properties"/>
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
</bean>

Я вижу в отладчике, что ${my_conf}/my.properties переводится в существующий путь (c: \ conf \ my.properties)

Я использую свойство jms.url, определенное в my.properties в следующей декларации бина

<amq:broker useJmx="false" persistent="false" brokerName="embeddedbroker">
    <amq:transportConnectors>
        <amq:transportConnector uri="tcp://${jms.url}"/>
        <amq:transportConnector uri="vm://embeddedbroker" />
    </amq:transportConnectors>
</amq:broker>

И при развертывании я получаю исключение "Could not resolve placeholder ${jms.url}"

Почему это не получается? Есть ли другой способ загрузить свойства из файла на диске?

спасибо

Ответы [ 2 ]

0 голосов
/ 26 февраля 2012

Это не решение, а объяснение моей проблемы.Проблема связана с этой ошибкой весной 3 и osgi .

Мне пришлось открыть журналы пружин до уровня отладки, чтобы понять это.

0 голосов
/ 06 февраля 2012

Поскольку это среда OSGI, вам понадобится jar-подпружиненный файл-ядро, добавленный в ваше приложение.Взгляните на эту ссылку , чтобы настроить свойство-заполнитель для инфраструктуры OSGI.

...