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 の接続の詳細は次のようになります。
- context.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" />
私が見る1つの観察は以下の通りです:
tomcat7 には、「lib」フォルダに「tomcat-jdbc.jar」というデフォルトの jdbc ドライバが付属しています。しかし、私のアプリではかなり長い間 spring-jdbc.jar を使用しています。
クラス内で競合が発生しないように、それぞれを削除しようとしましたが、役に立ちませんでした。
tomcat6 は、同じ「context.xml」と「server.xml」、および spring-jdbc.jar で正常に動作します。
これは tomcat7 移行の妨げになっているため、ご協力をお願いいたします。さらに詳細が必要な場合はお知らせください。
==べんき