开发者

Moving contents of META-INF/context.xml to tomcat/conf

开发者 https://www.devze.com 2023-02-24 06:19 出处:网络
We are trying to take the environment specific configuration settings out of our war files, so we can deploy the same war file to dev/test/prod tomcat servers and not have to change the contents of th

We are trying to take the environment specific configuration settings out of our war files, so we can deploy the same war file to dev/test/prod tomcat servers and not have to change the contents of the war config file.

When I move the META-INF/context.xml for the database connection to the conf/server.xml the database connection no longer works, with the following error, anyone know why this would be?

server.xml:

<GlobalNamingResources>
    ....
    <Resource
            url="jdbc:oracle:thin:@hostname:1521/something"
            username="username"
            name="jdbc/mydb"
            password="password"
            auth="Container"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            maxActive="5" maxIdle="2" maxWait="10000"
            removeAbandoned="true"
            type="javax.sql.DataSource"
            />
</GlobalNamingResources>

The error is as follows:

INFO: Deploying web application directory ROOT
Problem reading system configuration. Cannot create JDBC driver of class '' for connect URL 'null' (java.io.IOException: Cannot create JDBC driver of class '' for connect URL 'null')
java.io.IOException: Cannot create JDBC driver of class '' for connect URL 'null'
    at au.edu.unimelb.helper.SettingManager.loadSettings(SettingManager.java:212)
    at au.edu.unimelb.hel开发者_运维问答per.SettingManager.<init>(SettingManager.java:53)

(And yes the odjbc6.jar file is in $TOMCAT_HOME/lib/)


Finally worked it out, the tomcat documentation was slightly misleading. You can put the contents of your META-INF/context.xml straight into $TOMCAT_HOME/conf/context.xml and it works just fine.


There might be missing a <ResourceLink> in context.xml (either in the web application's META-INF/context.xml or in $TOMCAT_HOME/conf/context.xml, like so:

        <ResourceLink name="jdbc/mydb"
              type="javax.sql.DataSource"
              global="jdbc/mydb"/> 
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号