我们可以在jboss.xml中使用环境值吗

时间:2020-06-03 17:13:35

标签: java jboss5.x

我正在使用JBOSS EAP5

我们可以在jboss.xml中使用像$ env_var(如下)这样的Linux级别的环境变量作为Activation-config-property-value吗?我尝试搜索文档未找到示例。期待例如/ synatx相同。

<message-driven>
    <ejb-name>ExampleMDB</ejb-name>
    <ejb-class>org.jboss.tutorial.mdb_deployment_descriptor.bean.ExampleMDB</ejb-class>
     <transaction-type>Bean</transaction-type>
     <message-destination-type>javax.jms.Queue</message-destination-type>
   <activation-config>
      <activation-config-property>
        <activation-config-property-name>acknowledgeMode</activation-config-property-name>
        <activation-config-property-value>$env_var</activation-config-property-value>
      </activation-config-property>
    </activation-config>
</message-driven>

1 个答案:

答案 0 :(得分:1)

当我使用JBoss时(现在已经有一段时间了,所以现在不知道现在是否可以直接处理它),我将在构建期间生成部署jboss xml配置文件,以获取每个服务器dev / qa所需的特定XML。 / prod在发布过程中的排列。

诸如Velocity模板引擎之类的东西可以采用您的常规版本,并从预定义的配置中扩展变量,或者针对每个用户帐户运行该变量,以针对每个JBoss服务器部署量身定制。 https://velocity.apache.org/

您还可以编写简单的bash以用户身份运行,从而将当前的env值写入JBoss配置中。不是高科技,但它可以工作,特别是在您部署一个或几个部署的情况下。

$ export MSG="HELLO WORLD"
$ cat << EOF > jboss.xml
<somexml>$MSG</somexml>
EOF

$ cat jboss.xml
<somexml>HELLO WORLD</somexml>