Spring загрузка application.properties на основе определения контекста сервлета tomcat

Мне нужно иметь настройки разработки и производства для нашего весеннего проекта. Я понимаю, что вы можете использовать профили для весны, но это не то, что мы можем сделать.

Что я хочу сделать, так это поместить в среду разработки файл test -application.properties, а в рабочей среде — файл prod -application.properties. В определении контекста tomcat мы отправили следующее:

<Context>
    <context-param>
        <param-name>properties_location</param-name>
        <param-value>file:C:\Users\Bill\test-application.properties</param-value>
    </context-param>
</Context>

И мы можем изменить значение для рабочих серверов. В весеннем конфиге у нас что-то вроде этого:

<bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>${properties_location}</value>
        </list>
    </property>
    <property name="ignoreUnresolvablePlaceholders" value="false" />
</bean>

Но мы продолжаем получать ошибки типа:

org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/${properties_location}]

Любые идеи о том, как решить?

5
задан checklist 5 February 2015 в 16:05
поделиться