搜索

2.4.2. 基于描述符的属性替换

download PDF
应用程序配置 - 例如,数据源连接参数 - 通常在开发、测试和产品部署时都会不同。这有时是通过构建系统脚本实现的,因为 Java EE 规格没有包含表达这些配置的方法。
对于 JBoss EAP 6,您可以使用 Descriptor-based property replacement 在外部管理配置。
基于描述符的属性替换(Descriptor-based property replacement)基于描述符替换属性,允许您从应用程序和构建链里删除关于环境的假设。您可以在部署描述符而不是应用程序或构建系统脚本里指定环境专有的配置。您可以在文件里或作为命令行参数提供配置。
基于描述符的属性替换可以通过 standalone.xmldomain.xml 全局性地启用:
<subsystem xmlns="urn:jboss:domain:ee:1.1">
  <spec-descriptor-property-replacement>
    true
  </spec-descriptor-property-replacement>
  <jboss-descriptor-property-replacement>
    true
  </jboss-descriptor-property-replacement>
</subsystem>
ejb-jar.xmlpersistence.xml 里的 Java EE 描述符可以被替换。这默认是禁用的。
JBoss 专有的描述符替换默认是启用的。描述符可以在以下文件里替换:
  • jboss-ejb3.xml
  • jboss-app.xml
  • jboss-web.xml
  • *-jms.xml
  • *-ds.xml
例如,具有下列注解的 Bean:
 @ActivationConfigProperty(propertyName = "connectionParameters", propertyValue = "host=192.168.1.1;port=5445")
启用了基于描述符的属性替换后,connectionParameters 可以通过命令行来指定:
./standalone.sh -DconnectionParameters='host=10.10.64.1;port=5445'
通过系统属性实现相同功能:
<activation-config>
  <activation-config-property>
    <activation-config-property-name>
      connectionParameters
      </activation-config-property-name>
    <activation-config-property-value>
      ${jms.connection.parameters:'host=10.10.64.1;port=5445'}
    </activation-config-property-value>
  </activation-config-property>
</activation-config>
${jms.connection.parameters:'host=10.10.64.1;port=5445'} 允许命令行提供的参数来覆盖连接参数,而且提供了默认值。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.