2015-11-12 26 views
9

最近、アプリケーションをJava 1.7から1.8にアップグレードしました。残りのライブラリのバージョンは変更されません。私は、アップグレード後に、次のエラーを取得しています:Java 8のアップグレード後にdb接続を取得できません

DEBUG 2015-11-12 09:55:12 BasicResourcePool   An exception occurred while acquiring a poolable resource. Will retry. 
java.lang.NullPointerException 
    at oracle.net.jndi.JndiAttrs.getAttrs(JndiAttrs.java:207) 
    at oracle.net.resolver.AddrResolution.<init>(AddrResolution.java:198) 
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:219) 
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1102) 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320) 
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546) 
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236) 
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) 
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) 
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134) 
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182) 
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171) 
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137) 
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014) 
    at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32) 
    at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810) 
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547) 

Hibernateの設定:使用

<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
     <property name="hibernate.connection.url">jdbc:oracle:thin:@ldaps://XXXX,cn=OOOO,dc=WWW</property> 
     <property name="hibernate.connection.username">YYYY</property> 
     <property name="hibernate.statement_cache.size">0</property> 
     <property name="hibernate.connection.password">ZZZZZ</property> 
     <property name="hibernate.c3p0.min_size">5</property> 
     <property name="hibernate.c3p0.max_size">20</property> 
     <property name="hibernate.c3p0.timeout">1800</property> 
     <property name="hibernate.c3p0.max_statements">0</property> 
     <property name="hibernate.default_schema">YYYY</property> 
     <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property> 
     <property name="hibernate.show_sql">true</property> 
    </session-factory> 
</hibernate-configuration> 

関連ライブラリ:

  • ojdbc6 11.2.0.3.0
  • は3.1
  • を休止します

問題: 依存関係には、2つの休止状態のバージョン3.1と3.0、ojdbc6とojdbc7が含まれていました。 (依存関係ツリーを得たためにmvn dependency:tree -Dverboseを使用)

ソリューション: 依存関係から休止状態とojdbcの他のバージョンを除外。

  <dependency> 
       <groupId>****</groupId> 
       <artifactId>****</artifactId> 
       <version>****</version> 
       <exclusions> 
        <exclusion> 
         <groupId>hibernate</groupId> 
         <artifactId>hibernate</artifactId> 
        </exclusion> 
        <exclusion> 
         <groupId>com.oracle</groupId> 
         <artifactId>ojdbc6</artifactId> 
        </exclusion> 
       </exclusions> 
      </dependency> 
+0

おそらくLinuxディストリビューションを使用すると関係しますhttp://stackoverflow.com/questions/ 26227344/oracle-java-8-x64-for-linux-and-randomsource – VirtualTroll

答えて

3

私はOracle FAQからわかるように、使用しているJDBCドライバは、データベースのバージョンとJDK8と互換性がありません。

対応するOracleデータベースのバージョンとJDBCの互換性のあるバージョンとサポートされているJDKのバージョンは何ですか? enter image description here

私はこれがあなたの問題でなければならないと思います。多分ojdbc7.jarを使用した場合は助けになるかもしれません(私はまだこれをテストしていません - この原因についてはわかりません)

+0

私はJDK8、ojdbc7 12.1を使用していますが、Oracle Dbのバージョンは12.1ですが、依然として同じ問題が発生しています。 –

関連する問題