В настоящее время мы храним свойства среды нашего приложения в файле .properties в WEB-INF. Мы хотим переместить их в таблицу базы данных. Но мы по-прежнему хотим указать имя jndi, и при локальном запуске в нашей тестовой среде мы хотим иметь возможность переопределять определенные свойства только для нашей рабочей области для тестирования и разработки.
База данных Apache commons DatabaseConfigurator казалась хорошей, но не работала бы хорошо, если бы имя jndi было определено как свойство в файле. Ничего из того, что я сделал, чтобы попросить его сначала посмотреть файл свойств, не сработало.
Я решил создать подкласс AbstractConfiguration от apache commons, чтобы попытаться создать единый конфигуратор, который проверял бы файл и базу данных так, как я хотел, но опять же, это не сработало. Spring хочет, чтобы это имя jndi было абсолютно первым, вероятно, потому, что источник данных должен быть передан в конфигуратор в качестве параметра.
Как я могу получить то, что мне нужно здесь? В основном свойства в базе данных, но те, что в файле, переопределяют их. И имя jndi для источника данных не должно быть жестко закодировано в конфигурации spring.