Можно ли перезаписать порты Tomcat7, атрибуты appBase и Realm (которые находятся в server.xml) из сценария запуска? - PullRequest
0 голосов
/ 02 апреля 2012

В производственной среде у нас есть много разных экземпляров Tomcats.Каждый Tomcat прослушивает разные порты, использует другую базу данных как JDBCRealm и запускает приложения из другого каталога appBase.Итак, вот параметры, которые имеют специфичные для экземпляра значения:

  • port атрибут Server и Connector element
  • connectionURL, connectionName, connectionPassword атрибуты Realm элемента
  • appBase атрибут Host элемента

Когда кто-то (повторно) развертывает (новый) экземпляр Tomcat, нужно заменить сервер.xml (который поступает из системы управления исходным кодом) для установки значений, специфичных для экземпляра, для этих параметров.

Я бы предпочел иметь один и тот же server.xml в разных экземплярах.Итак, мой вопрос, возможно ли перезаписать / переопределить эти параметры из сценария запуска?

1 Ответ

1 голос
/ 02 апреля 2012

Да, но вам нужно будет параметризовать ваш server.xml.

Например, для http-коннектора вы должны сделать это:

<Connector port="${port.http}" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="${port.https}" />

, а затем создайте / отредактируйте setenv. [Bat | sh] и добавьте что-нибудь вроде (для Windows):

set CATALINA_OPTS=-Dport.http=10180 -Dport.https=10143

Не забывайте, что вам также нужно будет настроить параметры отключенного порта. Этот метод будет работать для любого значения атрибута в server.xml, context.xml и web.xml.

...