加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – JBOSS AS7中的环境特定属性

发布时间:2020-12-15 01:30:01 所属栏目:大数据 来源:网络整理
导读:我们有4台运行JBOSS AS7的服务器: 开发 测试 acc 刺激 在每个jboss上,将运行一个简单的webapp.此webapp将使用spring并需要设置一些属性,如: webservice.endpoint=interface.url.comwebservice.port=7676 每个环境的属性都不同.我们此时处理此问题的方式如

我们有4台运行JBOSS AS7的服务器:

>开发
>测试
> acc
>刺激

在每个jboss上,将运行一个简单的webapp.此webapp将使用spring并需要设置一些属性,如:

webservice.endpoint=interface.url.com
webservice.port=7676

每个环境的属性都不同.我们此时处理此问题的方式如下:

我有一个包含单个文件的JAR文件,config.properties.此属性文件包含我的所有属性.我把这个jar变成了一个全局的jboss模块,并在我的domain.xml(或standalone.xml)中配置它.这是有效的,因为spring在制作bean时可以访问属性.

但是,将属性转换为jar,转换为模块似乎过于复杂.我在想我应该使用系统属性来实现这个目标吗?我的问题是:这是一个放置所有特定于环境,应用程序特定属性的好地方吗?它们是否会加载到JVM中,以便每个人都可以随意访问它们(特别是Spring,它使用${myProperty}表示法来访问属性).另外,当我在浏览器中使用控制台添加属性时,它们是否已存储?我在domain.xml或host.xml中看不到它们.

最佳答案
如果你使用JAR解决方案:
? – 为每个环境使用独特的分类器.您将拥有x属性文件:dev_config.properties / test_config.properties等…

这样你就可以设置一个独特的JAVA_OPTS来设置你所处的环境.
然后你得到正确的属性文件:

使用:System.getenv(“ENV”)或System.getProperty(“ENV”)

if ("DEV".Equals(System.getenv("ENV"))
  here you load ==> the dev_config.properties

要将属性加载到JAR中,使用此maven插件非常容易.


如果你使用environment_variables:
我从未在我的项目中尝试过这个解决方案,我总是使用属性文件解决方案.但如果您只设置了几个变量,这可能会更快……您可以使用以下命令访问这些变量:

import java.util.Map;

public class EnvMap {
    public static void main (String[] args) {
        Map

如果环境变量中的数据没有任何敏感信息(如密码等),则可以添加数据.
IMO更容易混淆属性文件中的数据.因此,如果安全受到威胁,这是一个需要考虑的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读