如何在context.xml中将参数用作数据源位置?

时间:2013-06-18 02:15:14

标签: tomcat tomcat7

我的数据库url在我的context.xml(tomcat 7)中硬编码:

<Context path="">
    <Resource name="jdbc/MyDataSource" 
        auth="Container" 
        type="javax.sql.DataSource"
        url="jdbc:mysql://my.database:3306/ebdb"/>

    <!-- Realm and other cfg--> 
</Context>

这指向每个环境中的不同主机(dev / test / production / etc ......)

是否可以将其设置为参数或环境变量,因此开发人员无需手动将其添加到其hosts文件中?

1 个答案:

答案 0 :(得分:1)

您可以使用${propname}语法来引用context.xml中的系统属性。

context.xml中:

url="jdbc:mysql://${propname}:3306/ebdb"

VM参数:

-Dpropname=yourhost

有关tomcat的$ {propname}语法支持,请参阅以下文档:

http://tomcat.apache.org/tomcat-7.0-doc/config/index.html

希望这有帮助。