将META-INF / context.xml中的配置道具移出Web应用程序

时间:2017-05-04 20:55:59

标签: tomcat tomcat7 context.xml

我正在使用一个古老的遗留Web应用程序,我需要通过将资源配置与应用程序本身分离来为持续集成做好准备(这样我们就可以创建一个适用于每个环境的WAR文件,假设配置文件存在于某些预定的位置app服务器外的文件系统位置)。

与我们使用Spring上下文的其他更现代的网络应用程序不同,此应用程序通过应用程序服务器上下文获取其数据库配置,它位于META-INF/context.xml,类似于

<?xml version='1.0' encoding='utf-8'?>
<!--
    Context configuration file for the Tomcat Administration Web App
-->

<Context docBase="axis2" reloadable="true" crossContext="true">
    <Resource 
        name="jdbc/GWSDEV" 
        auth="Container"
        type="javax.sql.DataSource"
        factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
        username="myuser" 
        password="mypasswd"
        driverClassName="org.postgresql.Driver"
        url="jdbc:postgresql://my.server.com/mydb" 
        maxActive="100"
        maxIdle="30" 
        maxWait="10000" />
</Context>

我想将此配置移到Tomcat应用程序之外的某处,并重新配置应用程序以加载/etc/myancientapp/datasource.props之类的属性文件,这样我就可以在Jenkins中构建一个没有嵌入式配置的WAR文件并部署它在每个环境中进行战争,而不必为每个环境构建一个单独的环境,仅在该文件中有所不同。然后配置在每个环境中都会有所不同,但我可以使用固定路径(/etc/myancientapp/datasource.props)。

如何将此配置从我的应用中分离出来,并将其替换为指向要从应用外部加载的配置文件的指针?

0 个答案:

没有答案