В моем веб-приложении Java, где я использую tomcat в качестве сервера приложений, меня интересует способ передачи другого значения определенному свойству в приложение при его развертывании/повторном развертывании.
Есть несколько известных мне способов. из:
- Один из них — через параметры JVM, переданные в набор tomcat в файле setenv.sh. Насколько я знаю, требуется перезапуск сервера для каждого повторного развертывания.
- Чтобы указать значения свойств в файле свойств. Требуются значения, установленные вручную в файле, и перестроение приложения перед каждым повторным развертыванием одной и той же версии приложения.
- При использовании Spring указание значения свойства в некотором bean-компоненте, определенном в файле applicationContext.xml. Опять же требует ручного подхода и пересборки приложения.
- Хранение конфигурации в базе данных. Это требует, чтобы мы знали свойства подключения к базе данных, хранящей такие конфигурации.
Теперь, если я планирую изменять определенную переменную свойства, такую как IP-адрес, количество подключений, номер порта или какую-либо другую подобную переменную каждый раз при развертывании/повторном развертывании приложения, какой стратегии мне следует придерживаться? Существует ли общепринятый способ передачи таких значений свойств в веб-приложение, развернутое в Tomcat? Нужно ли перезапускать сервер tomcat, если я передаю значение свойства в качестве параметров JVM?
Или есть какой-то другой общий способ настройки параметров развертывания, который я не упомянул выше? Я бы предпочел, чтобы процесс, который можно легко автоматизировать, выполнялся программно (например, передача параметров JVM), вместо того, чтобы задавать свойства вручную перед каждым развертыванием (например, настройка файла свойств). Также не должно требоваться перестроение одной и той же версии каждый раз перед повторным развертыванием.