Я использую Spring 3.2 в веб-приложении, и я хотел бы иметь файл .properties в пути к классам, который содержит значения по умолчанию. Пользователь должен иметь возможность использовать JNDI для определения местоположения, где хранится другой .properties, который переопределяет значения по умолчанию.
Следующее работает до тех пор, пока пользователь установил свойство configLocation как JNDI.
@Configuration
@PropertySource({ "classpath:default.properties", "file:${java:comp/env/configLocation}/override.properties" })
public class AppConfig
{
}
Однако внешние переопределения должны быть необязательными, поэтому свойство JNDI.
В настоящее время я получаю исключение (java.io.FileNotFoundException: comp\env\configLocation\app.properties (The system cannot find the path specified), когда отсутствует свойство JNDI.
Как определить опциональный .properties, который используется только тогда, когда установлено свойство JNDI (configLocation)? Возможно ли это с помощью @PropertySource или есть другое решение?