【发布时间】:2011-03-01 19:46:48
【问题描述】:
这是我不久前发布的一个问题的后续:“Can I use a single WAR in multiple environments?”。我能够在 Tomcat 中创建单一战争解决方案,但现在我们正在将我们的应用程序迁移到 JBoss 4.2,我不知道如何设置全局环境变量。
在 Tomcat 6 中这非常简单:我只是将以下 sn-p 放入 tomcat/conf/Catalina/myappname.xml:
<Context ...>
<Environment name="TARGET_ENV" value="DEV" type="java.lang.String" override="false"/>
</Context>
然后在我的应用程序中,我能够使用以下内容解析环境名称:
Context context = (Context) InitialContext().lookup("java:comp/env");
String targetEnvironment = (String) context.lookup("TARGET_ENV");
问题是我不知道在哪里/如何在 JBoss 中放置全局变量。我尝试将<Environment> 标签放在以下文件中无济于事:
server/all/deploy/jboss-web.deployer/context.xmlserver/default/deploy/jboss-web.deployer/context.xml
我知道我可以将环境变量放在我的应用程序的 web.xml 中,但这违背了进行统一战争的目的 - 我仍然需要为 dev、qa 和 prod 自定义 .war。
我是 JBoss 新手,所以如果有任何其他信息可以帮助我,请告诉我,我会附加到这个问题。
【问题讨论】:
标签: java jakarta-ee jboss jboss-4.2.x