2010-03-15 2 views
0

Oracle JDBC соединение с отображением Weblogic 10 источника данных, давая проблема java.sql.SQLException: Закрытое соединениеOracle JDBC соединение с отображением Weblogic 10 источника данных, давая проблема java.sql.SQLException: Закрытое соединение

Я использую WebLogic 10 JNDI источник данных для создания 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) 

Любые идеи?

+1

Предполагая, что некоторые соединения работают, вероятно, это не проблема с конфигурацией. Может быть, код вашей основной задачи - не работает ли он через один блок открывания и закрытия соединений? – JoseK

ответ

0

Проблема была из-за совместное использование подключения через код .... плохого программирование .... :(исправила .... благодаря

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> 
Смежные вопросы