Могу ли я иметь модифицируемый файл Java снаружи в файле .war? (но все еще подключен к проекту .war)

1

Приветствия stackoverflowers,

У меня есть проект Java в Eclipse, который содержит, помимо RESTful WebServices, для чтения входов некоторую логику программирования, которая использует введенные данные и данные из соединения с базой данных (с использованием драйвера jdbc) для получения некоторых результатов. Затем проект экспортируется в файл .war и развертывается на Apache Tomcat Server. Все идет нормально.

Мой вопрос: могу ли я отделить файл Java, который содержит соединение с БД (чтобы быть вне .war), чтобы быть легко модифицируемым?

Представьте, что у меня есть 4 разных БД (тестовая БД, devolpment DB, производственная БД и т.д.)... мне нужно создать 4 разных файла .war с разными параметрами подключения или есть способ получить его извне в проект .war и изменить параметры подключения, как мне нравится? (но все еще подключен и читаем .war).

PS: Извините, если я допустил какие-либо орфографические ошибки, или если я нарушил поведение StackOverflow. Не стесняйтесь сказать мне, если я это сделал, и заранее спасибо всем.

Теги:
database
jdbc
war

3 ответа

1
Лучший ответ

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

Eclipse - это IDE, в которой может быть сервер приложений, такой как Tomcat или JBOSS. Вам нужно научиться настраивать пул соединений JNDI для вашего сервера приложений.

0

У вас может быть 4 разных файла свойств, указывающих на разные БД. И добавьте системное свойство во время запуска JVM, чтобы выбрать требуемую среду.

0

Используйте переменные среды O/S (envvars) для хранения деталей, относящихся к машине.

Если вы используете Spring, вы можете использовать Spring PropertyPlaceHolder, а затем использовать эти envvars непосредственно в конфигурационных файлах весны.

  • 0
    Я бы не рекомендовал такой подход.
  • 0
    @duffymo не самый полезный комментарий. Вы знаете, что AWS и Heroku правильно используют этот подход?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню