7.2 Новое поведение app.home

Добрый день.
Видимо, в связи со следующими изменениями

Usage of Application Home has been standardized for development and deployment environment.

имею вопрос.

Для разделения домашних каталогов нескольких приложений на тестовом сервере указывал в build.gradle для развертывания свойство

task buildWar(type: CubaWarBuilding) {
    ...
    appHome = '${npd.home}'
}

Соответственно для запуска томката указывал:

-Dnpd.home=opt/npd_home

Соответственно, для каждого приложения переменная своя.

Можете подтвердить, что такой сценарий более не поддерживается? Или это я косячу? Пытаюсь развернуть новое приложение на тестовый сервер - домашний каталог в opt/app_home.

Добрый день!

Действительно, параметр appHome задачи CubaWarBuilding удален. Если очень нужно, то можно подменить его действие переопределением свойств, задающих расположение каталогов, в таком роде:

cuba.confDir=${my.home}/${cuba.webContextName}/conf
cuba.logDir=${my.home}/logs
cuba.tempDir=${my.home}/${cuba.webContextName}/temp
cuba.dataDir=${my.home}/${cuba.webContextName}/work

Однако я не рекомендую этого делать. Оставьте один app.home для сервера, просто дайте различные “Module prefix” приложениям (они и так скорее всего у вас различные), и пусть они создают свои каталоги в одном общем на сервер приложения app.home. В этом же каталоге можно положить logback.xml и туда будут записываться логи приложения, которые в любом случае едины для сервера.

Если вам нужны local.app.properties для каждого приложения, объявите для них различные имена в генерируемом для WAR web.xml, например:

    <context-param>
        <param-name>appPropertiesConfigWeb</param-name>
        <param-value>
            ...
            "file:${app.home}/my.local.app.properties"
        </param-value>
    </context-param>
1 симпатия

Спасибо, Константин.

Пожалуй мне нужно осмыслить вышенаписанное, но все же уже есть вопрос.

Поясните, пожалуйста, почем же в любом случае? Со схемой описанной мной выше я имел два разных app-лога, каждый на свое приложение (после ваших слов уже начал сомневаться, но там даже размеры логов отличаются на порядки).

Интересно. А как вы указывали путь к logback.xml? Или как-то по другому конфигурировали логгинг?

Как-то так:

task buildWarTest(type: CubaWarBuilding) {
    ...
    appHome = '${hps.home}'
    logbackConfigurationFile = 'etc/war-logback.xml'
    ...
}

В самом logback.xml:

    <property name="logDir" value="${hps.home}/logs"/>

Понял. Да, так можно иметь разные конфигурации и разные файлы логов на одном сервере.

В 7.2 это тоже будет работать, логи будут создаваться там, куда указывает logback.xml данного приложения.

Константин, резюмирую это все, какова будет итоговая рекомендация, если я хочу иметь раздельные логи для приложений на одном сервере?

Я бы оставил корнем общий ${app.home} а в нем по приложениям logs_foo, logs_bar. Для этого достаточно в приложении foo прописать в etc/war-logback.xml:

<property name="logDir" value="${app.home}/logs_foo"/>
1 симпатия