Tomcat: Как я могу настроить server.xml динамически? - PullRequest
0 голосов
/ 29 февраля 2012

Я хочу использовать пул соединений Tomcat (используя встроенную базу данных H2), но я хотел бы разрешить url во время выполнения, то есть относительный путь к базе данных.
Проблема в том, что я могунесложно кодировать путь для tomcat (даже используя относительный путь, например ..\webapps или что-то в этом роде)
, поскольку

  1. Я не знаю, где он будет установлен
  2. Tomcat'sсценарий запуска будет запускаться из сценария init.d, поэтому что-то вроде ..\webapps не будет работать.
  3. Также я обнаружил, что не могу поместить переменные окружения в server.xml.

Каков стандартный / лучший способ приблизиться к этому?

Ответы [ 2 ]

3 голосов
/ 29 февраля 2012

Я предполагаю, что вы используете базу данных, такую ​​как Hypersonic или SQLLite, где вам нужен путь к файлу.

Вы должны поместить базу данных в CLASSPATH (например, WEB-INF / классы вашей WAR). Получите доступ к нему, используя средство чтения ресурсов classpath, а не абсолютный путь к файлу. Это сделает ваше приложение более портативным, и эти махинации с Tomcat не нужны.

0 голосов
/ 01 марта 2012

Добавьте пользовательский ресурс в ваш context.xml с фабрикой объектов, определенной вами. Пусть эта фабрика создаст соединение и вернет его.

...