Appendix C: System Properties
System properties can be specified at JVM startup, using the command line argument -D
. Additionally, system properties can be read or set using the getProperty()
and setProperty()
methods of the System
class.
You can use system properties to set or override values of application properties. For example, the following command line argument will override the value of the cuba.connectionUrlList property which is normally set in the web-app.properties
file:
-Dcuba.connectionUrlList=http://somehost:8080/app-core
Keep in mind, that system properties affect the whole JVM, i.e all application blocks running on the JVM will get the same value of a property. |
System properties are cached by the framework at server startup, so your application should not rely on ability to override an application property by changing a system property at runtime. If you absolutely need it, reset the cache after changing a system property using the |
Below are the system properties that are used by the platform but are not application properties.
- logback.configurationFile
-
Defines the location of the Logback framework configuration file.
For application blocks running on the Tomcat web server, this system property is configured in the
tomcat/bin/setenv.bat
andtomcat/bin/setenv.sh
files. By default, it points to thetomcat/conf/logback.xml
configuration file.
- cuba.unitTestMode
-
This system property is set to
true
when theCubaTestCase
base class is running integration tests.Example:
if (!Boolean.valueOf(System.getProperty("cuba.unitTestMode"))) return "Not in test mode";