Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JBoss中创建全局上下文变量?_Java_Jakarta Ee_Jboss_Jboss 4.2.x - Fatal编程技术网

Java 如何在JBoss中创建全局上下文变量?

Java 如何在JBoss中创建全局上下文变量?,java,jakarta-ee,jboss,jboss-4.2.x,Java,Jakarta Ee,Jboss,Jboss 4.2.x,这是我不久前发布的一个问题的后续内容:“。我能够在Tomcat中创建一个war解决方案,但现在我们正在将我们的应用程序迁移到JBoss4.2,我不知道如何设置全局环境变量 在Tomcat6中,这非常简单:我只需将以下代码片段放入Tomcat/conf/Catalina/myappname.xml: <Context ...> <Environment name="TARGET_ENV" value="DEV" type="java.lang.String" overrid

这是我不久前发布的一个问题的后续内容:“。我能够在Tomcat中创建一个war解决方案,但现在我们正在将我们的应用程序迁移到JBoss4.2,我不知道如何设置全局环境变量

在Tomcat6中,这非常简单:我只需将以下代码片段放入
Tomcat/conf/Catalina/myappname.xml

<Context ...>
   <Environment name="TARGET_ENV" value="DEV" type="java.lang.String" override="false"/>
</Context>
问题是我找不到全局变量在JBoss中的位置/方式。我尝试将
标记放在以下文件中,但无效:

  • server/all/deploy/jboss-web.deployer/context.xml
  • server/default/deploy/jboss-web.deployer/context.xml
我知道我可以将环境变量放在我的应用程序的web.xml中,但这违背了统一war的目的——我仍然需要定制.war,用于开发、qa和产品

我是一个JBoss新手,所以如果有任何其他信息可以帮助我,请告诉我,我将附加到这个问题

对于数据库url和其他与环境相关的内容,我使用了类似的内容


因此,我不再需要提供不同的与环境相关的事实。

属性服务是一种选择,它可以工作——但它不是jboss特有的吗?如果有一个可以在jboss和netbeans中工作的.ar,而无需修改.war本身,那就太好了。可能吗?我自己开发了一个类似的服务(解析${variables}),我将属性文件放在类路径的某个地方,因此我不会遇到依赖于特定应用程序服务器的问题。关于“JBOSS中的外部属性”,有两个问题:1)是否将配置文件签入源代码管理系统?2) 应用程序如何知道要使用哪种配置(开发、测试、UAT、产品)?
Context context = (Context) InitialContext().lookup("java:comp/env");
String targetEnvironment = (String) context.lookup("TARGET_ENV");