2011-09-23 58 views
0

您可以在測試環境,開發環境或生產環境中運行Java EE應用程序。Java EE獲取有關應用程序當前運行的環境的信息

如何使用Java代碼或XML來獲取該信息?

if (ApplicationContext.inDevelopment() { // do this } 

顯然以上是不正確的。但你明白了。我怎樣才能做到這一點?

+1

使用主機名,或設置使用-D等變量? –

+0

對不起,我是JEE的新手,所以我不知道你在說什麼:O ...如果我想用Java代碼來獲取這些信息,我該怎麼做? – momomo

回答

1

有很多方法可以實現它。

  • 檢查服務器的IP地址以決定它正在運行的平臺 。

  • 將-D屬性添加到您的服務器啓動腳本中,在您的程序中獲取
    系統屬性。

  • 針對使用不同屬性文件的不同平臺。每個
    屬性文件包含一個「平臺」屬性

  • ,或者如果你正在使用maven來構建應用程序,您可以創建
    配置文件,在建設時設置屬性/屬性。

...

+0

-D用於開發?它可能是任何國旗或是這個特殊的旗幟? System.getProperty(「D」)? – momomo

+0

NO。如果你在你的命令行輸入java(Enter),並檢查輸出文本,應該有一行:'-D = 設置系統屬性'在你的情況下,例如-Dapp.env = TEST,可以添加到你的服務器(tomcat?weblogic?websphere?....)啓動腳本。在您的應用程序中,您可以通過名稱「app.env」獲取systemproperty,以檢查您在哪個環境中。 – Kent

+0

好的。現在我明白了。我們在Tomcat上運行。我從來沒有將應用程序部署到生產環境中,所以我不知道,但我猜測有一種告訴tomcat我們正在生產的特定方式,以便停止編譯和其他開銷。 – momomo

相關問題