Приложение C: Системные свойства
Системные свойства задаются при запуске JVM с помощью аргумента командной строки -D и могут быть получены или установлены методами getProperty(), setProperty() класса System.
Системные свойства можно использовать для установки или переопределения значений свойств приложения. Например, следующий аргумент командной строки переопределит значение свойства cuba.connectionUrlList, которое обычно задается в файле web-app.properties:
-Dcuba.connectionUrlList=http://somehost:8080/app-core
|
Warning
|
Имейте в виду, что системные свойства влияют на всю JVM, то есть все блоки приложения, выполняющиеся на данной JVM, получат одинаковое значение свойства. |
Ниже приведены системные свойства, используемые в платформе, но не являющиеся свойствами приложения.
- logback.configurationFile
-
Определяет местонахождение файла конфигурации фреймворка Logback.
Для блоков приложения, работающих на веб-сервере Tomcat, данное системное свойство задается в файлах
tomcat/bin/setenv.batиtomcat/bin/setenv.sh. По умолчанию оно указывает на конфигурационный файлtomcat/conf/logback.xml.Для Desktop Client, если данное свойство не задано при запуске JVM, оно задается в коде самого приложения и по умолчанию указывает на файл
cuba-logback.xml, расположенный в корне CLASSPATH. Подробнее см. Настройка логгирования в десктоп-клиенте.
- cuba.desktop.home
-
Для блока Desktop Client задает расположение домашнего каталога, в котором по умолчанию находятся каталоги, определяемые свойствами приложения
cuba.confDir,cuba.logDir,cuba.tempDir,cuba.dataDir.Если данное свойство не задано при запуске JVM, то будет использовано значение
${user.home}/.haulmont/cuba, которое можно изменить в прикладном проекте, переопределив методgetDefaultHomeDir()классаcom.haulmont.cuba.desktop.App.
- cuba.unitTestMode
-
Данное системное свойство устанавливается в значение
trueв режиме выполнения интеграционных тестов базовым классомCubaTestCase.Пример использования:
if (!Boolean.valueOf(System.getProperty("cuba.unitTestMode"))) return "Not in test mode";