2010-03-15 3 views
0

connexion JDBC Oracle avec Weblogic 10 cartographie DataSource problème donnant java.sql.SQLException: Connexion ferméeOracle connexion JDBC avec Weblogic 10 cartographie DataSource problème donnant java.sql.SQLException: Connexion fermée

J'utilise weblogic 10 datasource JNDI pour créer des connexions JDBC, ci-dessous est ma config

<?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> 

Quand je lance une tâche en vrac où il y a beaucoup de connexions faites et fermé, il donne parfois une connexion fermée exception pour tout de la tâche dans la tâche en vrac.

Ci-dessous est détaillée exception »

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) 

Toutes les idées?

+1

En supposant que certaines connexions fonctionnent, ce n'est probablement pas un problème de configuration.Peut être le code de votre tâche en bloc - ne fonctionne-t-il pas à travers un seul bloc d'ouverture et de fermeture? – JoseK

Répondre

0

problème était dû au partage de connexion entre le code .... mauvaise programmation .... :(corrigé .... merci

2

Vous pouvez modifier le paramètre <global-transactions-protocol>-none et exécuter le code:

<jdbc-data-source-params> 
    <jndi-name>ReferenceData</jndi-name> 
    <global-transactions-protocol>none</global-transactions-protocol> 
</jdbc-data-source-params> 
Questions connexes