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