gpt4 book ai didi

java - 跨服务器环境变量

转载 作者:行者123 更新时间:2023-11-28 21:55:00 24 4
gpt4 key购买 nike

我想在 Glassfishv3Apache tomcat 6 服务器中设置一个字符串变量,例如“DEVEL”或“PRODUCTION”,并且想要它可以从 java 代码访问,因此我可以根据变量更改我的应用程序的行为。最简单的方法是什么?

最佳答案

我认为没有一种方法可以设置适用于这两种服务器的环境变量。不过,有一些方法可以为这些服务器中的每一个设置环境变量。

设置一个可以在运行时被你的网络应用程序检测到的系统属性:

Tomcat : 设置环境变量 CATALINA_OPTS 的值并启动服务器。

export CATALINA_OPTS=-DmyPropertyName=myPropertyValue

GlassFish 3:您可以使用多种方法。

  1. 直接使用 GlassFish 系统属性。启动服务器。使用 asadmin 命令“create-system-properties”来定义系统属性。重启服务器。

    asadmin create-system-property myPropertyName=myPropertyValue。

  2. 直接使用 JVM 选项:启动服务器。使用 asadmin 命令“create-jvm-option”创建一个新的 JVM 选项,该选项定义将在服务器启动时使用的系统属性。重新启动服务器,以便它使用该属性。

    asadmin create-jvm-options -DmyPropertyName=myPropertyValue

要更改您的网络应用程序在运行时可以检测到的系统属性的值:

Tomcat:更改 CATALINA_OPTS 环境变量的值并重新启动服务器。

export CATALINA_OPTS=-DmyPropertyName=myNEWPropertyValue

GlassFish 3:更改属性值的方法取决于您用来设置属性值的方法。

  1. 直接使用 GlassFish 系统属性。使用“create-system-properties”命令重新创建 GlassFish 系统属性并重新启动服务器。

    asadmin create-system-property myPropertyName=myNEWPropertyValue

  2. 直接使用 JVM 选项:删除旧的 jvm 选项并在其位置创建一个新选项。重启服务器。

    asadmin delete-jvm-options -DmyPropertyName=myPropertyValue

    asadmin create-jvm-options -DmyPropertyName=myNEWPropertyValue

    参见 http://java.net/jira/browse/GLASSFISH-11253

要取消设置您的网络应用程序在运行时可以检测到的系统属性的值:

Tomcat:重置环境变量 CATALINA_OPTS 的值,不包括 JVM 选项定义。重启服务器。

export CATALINA_OPTS=

GlassFish 3:

  1. 使用 GlassFish 系统属性。使用“删除系统属性”命令并重新启动服务器。

    asadmin delete-system-property myPropertyName

  2. 使用 JVM 选项定义属性。使用 delete-jvm-options 命令并重新启动服务器。

    asadmin delete-jvm-options -DmyPropertyName=myPropertyValue

从 Web 应用程序内部访问系统属性

使用System.getProperty(String)或 [System.getProperty(String,String)][2]

说了这么多之后,我想劝阻您不要使用这些信息来追求您声明的发展战略。

还有其他方法可以在不涉及代码更改的情况下区分开发环境和生产环境。

[2]: http://download.oracle.com/javase/6/docs/api/java/lang/System.html#getProperty(java.lang.String , java.lang.String)

关于java - 跨服务器环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4907075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com