2011-09-29 120 views
7

這個問題是this one involving Android的「表親」。但是這裏我們在Tomcat環境下Tomcat中的System.setProperty的作用域

如果在我的web應用程序中,我設置了一個屬性爲System.setProperty("property_name", "property_value");,它的作用域將應用於?

  • 在這個機器上的所有JVM
  • 所有Tomcat的webapps
  • 只執行該指令
  • 只執行該指令
  • 別的線程web應用程序...

非常感謝!

回答

5

系統屬性具有JVM範圍。因此,該屬性將在整個tomcat JVM,所有webapps和Tomcat本身中被修改(並且可用)。

請注意,系統屬性存儲在內存中,因此如果停止並重新啓動Tomcat,則該屬性不會持續存在。

+1

我同意你 - 但我無法找到sun/oracle指定的位置。你有任何參考?系統API文檔保持沉默,恕我直言。 – MRalwasser

1

在Java中System.setProperty()總是適用於整個JVM。

所以是的,它會影響整個Tomcat實例,包括所有的webapps。