2017-02-02 37 views
1

Oracle 11gのからOracleの12 Cへの移行が、我々はUCP(12.1.0.2.0)を使用して、エラーの下に取得している接続閉じ問題12 C

java.sql.SQLException: The connection is closed: The connection is closed 
      at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:464) 
      at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:448) 
      at oracle.ucp.jdbc.proxy.JDBCConnectionProxyFactory.invoke(JDBCConnectionProxyFactory.java:307) 
      at oracle.ucp.jdbc.proxy.ConnectionProxyFactory.invoke(ConnectionProxyFactory.java:50) 
      at com.sun.proxy.$Proxy24.prepareStatement(Unknown Source) 

これは、我々が取るマルチスレッドアプリケーションでありますUCPプールからの接続を使用して、接続を閉じます。 しかし、操作のいくつかのために私たちはライン上で上記のエラーを取得している - のConnection.prepareStatement我々は

いくつかは、接続プールのデフォルト値を使用して 1)を試してみましたPoolDataSource

を使用している(ステートメント) と最低限の設定、最大プールサイズ。 2)標識接続 5を使用) 4「DUALから1を選択」としてsetValidateConnectionOnBorrowとして真とsetValidateConnectionOnBorrow設定)setValidateConnectionOnBorrow真、 3の設定)DBは、特定の時間の後に接続を切断しない場合もありません。接続をブロックするファイアウォール。 6)setMaxConnectionReuseTimeの使用

私は同様の問題を示すいくつかのリンクを紹介しました。しかし、それは任意の解像度 https://community.oracle.com/thread/2183613

https://community.oracle.com/thread/2298699

The connection is closed when using Oracle UCP

誰もがUCPでのOracle 12Cに同様の問題に直面しているが表示されません?最新のUCPにいくつかのバグはありますか?

+0

この問題は、12.2.0.1で修正される予定です。このバージョンは、ここからダウンロードできます。http://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html –

答えて

0

Weblogicの接続プールを使用しても問題はありません。

私は問題がまさにhere for question oracle- db-java-sql-sqlexception-closed-connectionと記載されていると思います。

接続が(マルチスレッドに注意を払う)prepareStatement()を呼び出す前にを閉じていないことを本当に確認してください。

はたぶんclose()が本当にprepareStatement()前に閉じていないかどうかを確認し、右prepareStatement()呼び出しの前にconnection.isValid()のログ値を試すために、いくつかのログを追加します。

サンプルコードを提供できますか?