Scope of System.setProperty in Tomcat

2019-06-16 21:21发布

This question is "cousin" of this one involving Android. But here we are in Tomcat environment.

If in my webapp I set a property with System.setProperty("property_name", "property_value");, which scope will it be applied to?

  • all JVM in this machine
  • all Tomcat webapps
  • only the webapp that executes the instruction
  • only the thread that executes the instruction
  • something else...

Many thanks!

2条回答
贼婆χ
2楼-- · 2019-06-16 21:58

A system property has a JVM scope. The property will thus be modified (and available) in the whole tomcat JVM, for all the webapps and for Tomcat itself.

Note that the system property is stored in memory, and will thus not persist if you stop and restart Tomcat.

查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-06-16 22:03

In Java System.setProperty() always applies to the entire JVM.

So yes, it will affect the whole Tomcat instance, including all webapps.

查看更多
登录 后发表回答