2015-04-28 3 views
0

У меня есть своеобразное требование установить значение некоторого компонента из переменной окружения системы, возможно ли это весной?Использовать переменную среды в Spring beans.xml

Псевдокод

<bean id="connectionFactory" 
    class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory"> 
     <constructor-arg value="testhost" /> 
     <property name="username" value="$SystemEnv.RabbitUserName" /> 
     <property name="password" value="$SystemEnv.RabbitPassword" /> 
    </bean> 

Теперь эти RabbitUserName и RabbitPassword являются экстернализированы в некоторой переменной среды, которая находится за пределами .war файла.

Есть ли какой-либо элегантный способ добиться того же весной?

+0

возможно дубликат [PropertyPlaceholderConfigurer и переменные окружения в файлах .properties] (http://stackoverflow.com/questions/10324702/propertyplaceholderconfigurer-and-environment-variables-in-properties-files) –

ответ

1

Это должно сработать.

<bean id="connectionFactory" 
    class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory"> 
     <constructor-arg value="testhost" /> 
     <property name="username" value="#{systemProperties['RabbitUserName']}" /> 
     <property name="password" value="#{systemProperties['RabbitPassword']}" /> 
    </bean> 
Смежные вопросы