у меня есть следующие файлы свойств с Spring FrameworkSpring - как использовать PropertyPlaceholderConfigurer динамически загружать файлы
config.properties
с содержанием
environment=devel //posible values: devel, testing, prod
и с предыдущим свойством среды, выбрать некоторые из Следующие файлы для загрузки динамически
config-service1-devel.properties
config-service1-testing.properties
config-service1-prod.properties
config-serviceN-devel.properties
config-serviceN-testing.properties
config-serviceN-prod.properties
а затем, с весной, я хочу загрузить th e, я решаю загрузить первый файл свойств, но я не понимаю, как использовать язык выражения для завершения значений зависимых свойств.
<bean id="MainApplicationProperties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location"
value="file://#{systemProperties['jboss.server.home.dir']}/conf/services.properties" />
<property name="placeholderPrefix" value="$mainProperty{" />
<property name="placeholderSuffix" value="}" />
</bean>
<bean id="SecondApplicationProperties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
depends-on="MainApplicationProperties">
<property name="locations">
<list>
<value>file://#{systemProperties['jboss.server.home.dir']}/conf/serviceOne/service1-$mainProperty{environment}.properties</value>
<value>file://#{systemProperties['jboss.server.home.dir']}/conf/serviceTwo/service2-$mainProperty{environment}.properties</value>
<value>file://#{systemProperties['jboss.server.home.dir']}/conf/serviceN/serviceN-$mainProperty{environment}.properties</value>
</list>
</property>
</bean>
выход ошибки в следующем,
java.io.FileNotFoundException: /..../conf/serviceOne/service1-$mainProperty{environment}.properties (No such file or directory)
мое мнение, что значение не заменяется
HelpMe, благодаря
свойство 'locations' 'PropertyPlaceHolder', не передавая процесс оценки языком выражения для извлечения реального значения местоположения, вопрос в том, почему EL не обрабатывает значение свойства 'location'? – jrey
Я воспроизвел поведение и обновил свой ответ ... то, что вы пытаетесь сделать, невозможно. –