2013-05-22 141 views
1

对tomcat有点麻烦。我有一个tomcat应用程序为一些需要soap接口的数据公开soap接口。迄今为止都很好。在测试中一切正常。Tomcat连接池和更改数据库

当我安装时有一个问题。我想更改数据库连接以指向活动数据库框。所以我编辑了context.xml并重新加载了应用程序。事实上,我已经关闭并重新启动tomcat,以防万一。

这里是我的origonal背景

<Context> 

    <Resource name="jdbc/tclsms" auth="Container" type="oracle.jdbc.pool.OracleDataSource" 
       maxActive="20" maxIdle="10" maxWait="100" 
       user="***" password="***" driverClassName="oracle.jdbc.OracleDriver" 
       url="jdbc:oracle:thin:@tcl-sms:1521:smf" 
       factory="oracle.jdbc.pool.OracleDataSourceFactory" 
       /> 

    <!-- factory="org.apache.commons.dbcp.BasicDataSourceFactory" -->   

</Context> 

然后我把它改成这样

<Context> 

    <Resource name="jdbc/tclsms" auth="Container" type="oracle.jdbc.pool.OracleDataSource" 
       maxActive="20" maxIdle="10" maxWait="100" 
       user="***" password="***" driverClassName="oracle.jdbc.OracleDriver" 
       url="jdbc:oracle:thin:@10.40.125.150:1521:smf" 
       factory="oracle.jdbc.pool.OracleDataSourceFactory" 
       /> 

    <!-- factory="org.apache.commons.dbcp.BasicDataSourceFactory" -->   

</Context> 

(密码和用户不*在实际安装)

任何方式后进行更改并重新加载。我收到一个错误,并在错误中告诉我它无法解析tcl-sms。

有什么理由说的tomcat不会被装入新的context.xml我已经通过具有origonal的context.xml war文件部署

更多信息 。 部署完成后,我进入了webapps文件夹并编辑了上下文。

的测试系统是Ubuntu和直播系统是的Solaris(如果让任何差异)

回答

0

发现这个问题。我认为我最好在这里发帖,以防其他人遇到同样的事情。

这是发生了什么事。部署后,tomcat在webapps中创建一个文件夹。这个文件夹是根据我的应用命名的,并有META-INF和WEB-INF文件夹。在那里我找到了我的context.xml,并开始编辑。

但它仍然在寻找错误的分贝主机。所以我接下来做的是tomcat目录中的那个主机的grep。没有什么,所以我认为文件不能在战争档案以外的地方定义。我错了。我的应用还有另一个context.xml,但我没有读权限,所以grep失败。

然后我发现这个http://tomcat.10.x6.nabble.com/context-xml-not-read-td2116658.html。事实证明,这个Web应用程序在 $ CATALINA_BASE/conf ///。xml

已有此预存的context.xml文件,它已全部正常工作。不知道为什么tomcat这样做......