JBoss数据源中的环境变量

时间:2014-10-22 18:36:02

标签: jboss jboss7.x

我有一台运行的JBoss服务器,想要部署服务。 该服务连接到在以下xml文件

中配置的数据库
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns="http://www.jboss.org/ironjacamar/schema">
    <datasource jta="false" jndi-name="java:/PMBootStrapDS"
        pool-name="PMBootStrapDS" enabled="true" use-ccm="false">
        <connection-url>jdbc:postgresql://localhost:5432/i2b2</connection-url>
        <driver-class>org.postgresql.Driver</driver-class>
        <driver>postgresql-9.2-1002.jdbc4.jar</driver>
        <security>
            <user-name>i2b2pm</user-name>
            <password>demouser</password>
        </security>
        <validation>
            <validate-on-match>false</validate-on-match>
            <background-validation>false</background-validation>
        </validation>
        <statement>
            <share-prepared-statements>false</share-prepared-statements>
        </statement>
    </datasource>
</datasources>

要在不同的系统上轻松部署它,我想将数据库位置绑定到环境变量。 我试过这样的事情

<connection-url>jdbc:postgresql://${env.MY_DB_LOCATION}/i2b2</connection-url>

但它不起作用。

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:4)

确保在standalone.xml中启用了属性替换。

在standalone.xml中查找以下子项,并确保将值设置为true

<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>

编辑:仅支持eap6和jboss 7.1.2(或更高版本)