我的应用程序帖子移动到 tomcat7 时遇到问题。当我的应用程序尝试连接到“Oracle 11.2 DB”时,我看到了以下问题。
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-12541: TNS:no listener
)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:458)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:466)
server.xml 和 context.xml 中的连接详细信息如下所示。
- 上下文.xml
ResourceLink global="jdbc/ctb" name="jdbc/ctb" type="oracle.jdbc.pool.OracleDataSource"/>
服务器.xml
<Resource name="jdbc/XXXX" auth="Container" scope="Shareable" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:oci8:@database" username="username" password="pwd" maxActive="30" maxIdle="3" removeAbandoned="true" removeAbandonedTimeout="60" testOnBorrow="true" validationQuery="select 1 from dual" logAbandoned="true" />
我看到的一个观察结果如下:
tomcat7 在名为“tomcat-jdbc.jar”的“lib”文件夹中带有一个默认的 jdbc 驱动程序。但是在我的应用程序中,我们使用了很长时间的 spring-jdbc.jar。
试图删除它们中的每一个以确保类中不会有任何冲突,但这对我没有帮助。
tomcat6 与相同的“context.xml”和“server.xml”以及 spring-jdbc.jar 一起工作得很好。
您的帮助将不胜感激,因为这已成为我们 tomcat7 迁移的障碍。如果您需要更多详细信息,请告诉我。
==本基