Appendix C: 系统参数
系统参数可以在 JVM 启动的时候通过命令行参数 -D
指定。此外,系统参数可以通过 System
类的 getProperty()
和 setProperty()
方法来读写。
可以用系统参数来设置或者覆盖应用程序属性的值。比如,下面命令行参数就会覆盖 cuba.connectionUrlList 属性的值,这个属性一般在 web-app.properties
文件中设置:
-Dcuba.connectionUrlList=http://somehost:8080/app-core
牢记于心,系统参数是会影响整个 JVM 的,也就是说,在此 JVM 上运行的所有 blocks 对于同一个参数,都读取的同一个值。 |
框架会在服务启动时缓存系统参数,所以应用程序不应该依赖在运行时修改系统参数来改变应用程序属性。如果确实需要这么做,使用 CachingFacadeMBean JMX bean 的 |
以下是平台使用的系统参数,这些参数不是应用程序属性。
- logback.configurationFile
-
定义 Logback 框架配置文件位置。
对于运行在 Tomcat web 服务的应用程序 blocks,这个系统参数配置在
tomcat/bin/setenv.bat
和tomcat/bin/setenv.sh
文件。默认值是指向tomcat/conf/logback.xml
配置文件。
- cuba.unitTestMode
-
在
CubaTestCase
基类运行集成测试的时候,这个系统参数设置成true
。示例:
if (!Boolean.valueOf(System.getProperty("cuba.unitTestMode"))) return "Not in test mode";