Oracle JDBC WebLogic 10 DataSourceマッピングとの接続、問題を示すJava.sql.sqlexception:閉じた接続
-
20-09-2019 - |
質問
Oracle JDBC WebLogic 10 DataSourceマッピングとの接続、問題を示すJava.sql.sqlexception:閉じた接続
WebLogic 10 JNDI DataSourceを使用してJDBC接続を作成しています。
<?xml version="1.0" encoding="UTF-8"?>
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/920 http://www.bea.com/ns/weblogic/920.xsd">
<name>XL-Reference-DS</name>
<jdbc-driver-params>
<url>jdbc:oracle:oci:@abc.XL.COM</url>
<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
<properties>
<property>
<name>user</name>
<value>DEV_260908</value>
</property>
<property>
<name>password</name>
<value>password</value>
</property>
<property>
<name>dll</name>
<value>ocijdbc10</value>
</property>
<property>
<name>protocol</name>
<value>oci</value>
</property>
<property>
<name>oracle.jdbc.V8Compatible</name>
<value>true</value>
</property>
<property>
<name>baseDriverClass</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
</properties>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<initial-capacity>1</initial-capacity>
<max-capacity>100</max-capacity>
<capacity-increment>1</capacity-increment>
<test-connections-on-reserve>true</test-connections-on-reserve>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
</jdbc-connection-pool-params>
<jdbc-data-source-params>
<jndi-name>ReferenceData</jndi-name>
<global-transactions-protocol>OnePhaseCommit</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
大量の接続が作成され、閉じられているバルクタスクを実行すると、バルクタスクのタスクのいずれかに対して接続の閉じた例外が得られる場合があります。
以下は詳細な例外です」
java.sql.SQLException: Closed Connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:207)
at oracle.jdbc.driver.OracleStatement.ensureOpen(OracleStatement.java:3512)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3265)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3367)
何か案は?
解決 2
問題はコード間の接続共有によるものでした....悪いプログラミング.... :(修正しました....ありがとう
他のヒント
あなたは変えられる <global-transactions-protocol>
パラメーターに none
コードを実行します。
<jdbc-data-source-params>
<jndi-name>ReferenceData</jndi-name>
<global-transactions-protocol>none</global-transactions-protocol>
</jdbc-data-source-params>
所属していません StackOverflow