2011-09-23 28 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

相关问题