Как использовать разные файлы META-INF / context.xml для сред разработки и производства - PullRequest
4 голосов
/ 29 марта 2009

В Tomcat (и некоторых других контейнерах сервлетов) я могу хранить информацию о моем источнике данных JDBC в META-INF/context.xml. Это очень полезно.

Однако настройки для моего JDBC DataSource могут отличаться в моей среде разработки и производства. Я хотел бы знать, как другие люди элегантно справляются с этими различиями, в частности, как я могу настроить context.xml для своей среды разработки и один для моей производственной среды наиболее простым способом.

Ответы [ 4 ]

2 голосов
/ 06 августа 2009

Если вы хотите узнать больше о профилях Maven, прочитайте это: Введение в профили сборки

2 голосов
/ 29 марта 2009

Я бы сделал то же, что упомянул Кевин. Если вы используете Maven, вы бы использовали «профили».

2 голосов
/ 29 марта 2009

Вы можете создавать различные файлы для определенных сборок. Например, создать: development.context.xml production.context.xml

Затем вы можете контролировать, какой контекстный файл используется в вашем файле build.xml. По сути, настройте подсказку, какой тип сборки вы хотели бы использовать. Когда вы выбираете разработку, он использует файл контекста разработки. Когда вы выбираете производство, оно использует файл производственного контекста.

1 голос
/ 29 марта 2009

Лично я не буду хранить такую ​​информацию о конфигурации в context.xml (возможно, в другом файле свойств или что-то в этом роде), но общий способ для чего-то подобного - это чтобы ваш скрипт сборки компоновал разные версии файла конфигурации в WAR / EAR / все. Ваш сценарий сборки может решить, использовать ли файл конфигурации "dev" или "production" на основе параметров, которые вы передаете, запуска различных целей и т. Д.

Я часто использую задачу в ant для замены определенных токенов в файлах значениями из файла фильтров; и поменяйте, какой файл фильтра используется в зависимости от среды, на которую я нацеливаюсь.

...