Tomcat + управление файлами свойств - PullRequest
0 голосов
/ 10 февраля 2011

В настоящее время у нас есть один сервер Tomcat, на котором работают 2 веб-приложения; один для сайтов США, а другой веб-приложение специально для ЕС. Мы функционально разделили приложение & db по этим направлениям; один логический экземпляр для текущего сайта в США, а другой - для сайта ЕС.

В настоящее время наш процесс выпуска выглядит следующим образом: - на Tomcat мы развернули 2 идентичные войны, за исключением того, что перед повторным запуском tomcat мы изменили файл свойств, чтобы идентифицировать веб-приложение США или ЕС

То, что мы хотели бы сделать, это автоматизировать весь этот процесс. Я хотел бы развернуть свои 2 войны, не изменяя файлы свойств, но и не меняя сценарии сборки. Любые предложения о том, как удалить этот шаг вручную?

Ответы [ 2 ]

0 голосов
/ 14 июля 2015

Вы также можете сделать это программно. Прежде всего вы должны реализовать aorg.apache.catalina.LifeCycleListener. Содержит один метод

    /**
 * Acknowledge the occurrence of the specified event.
 *
 * @param event LifecycleEvent that has occurred
 */
public void lifecycleEvent(LifecycleEvent event);

Для параметра события вы должны прослушивать события, развернутые в контексте. Вы можете посмотреть на http://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html для некоторых примеров.

Вы поместите слушателя в файл server.xml Tomcat как

<Listener className="your implementation class name"/>

Надеюсь, это поможет

0 голосов
/ 10 февраля 2011

Если вы используете скрипт сборки Ant, вы можете использовать функцию filterset команды copy для установки свойств.Вам необходимо:

  • файл свойств шаблона
  • два файла свойств (по одному для каждого веб-приложения)

Ваш файл шаблона:

...
locale = @deploy.locale@
other.stuff.int = 123
other.stuff.string = test string
...

(обратите внимание на @deploy.locale@ заполнитель)

Ваш файл свойств в США:

...
deploy.locale = US
...

Ваш файл свойств в ЕС:

...
deploy.locale = EU
....

В вашем файле сборки Antтеперь вы можете:

  1. стереть каталог TMP
  2. скомпилировать проект в каталог TMP
  3. скопировать файл свойств шаблона, объединяя в свойствах США
  4. оберните папку TMP в war_for_us.war
  5. скопируйте war_for_us.war в каталог веб-приложений tomcat
  6. скопируйте файл свойств шаблона, объединяющийся в свойствах ЕСпапку TMP в war_for_eu.war
  7. скопировать war_for_eu.war в каталог веб-приложений tomcat

Вы также можете остановить и запустить tomcat в скрипте сборки.Вот как вы копируете шаблон:

<copy todir="${tmp.dir}" overwrite="true">
    <fileset dir="templates">
        <include name="template.properties" />
    </fileset>
    <filterset filtersfile="us.properties" />
</copy>
...
<copy todir="${tmp.dir}" overwrite="true">
    <fileset dir="templates">
        <include name="template.properties" />
    </fileset>
    <filterset filtersfile="eu.properties" />
</copy>

См. этот пост для других советов по развертыванию Ant.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...