Index: jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/CPManagedConnectionFactory.java =================================================================== --- jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/CPManagedConnectionFactory.java (revision 47843) +++ jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/CPManagedConnectionFactory.java (working copy) @@ -154,7 +154,16 @@ mc.initializeConnectionType(ManagedConnection.ISPOOLEDCONNECTION); //GJCINT - validateAndSetIsolation(mc); + try { + validateAndSetIsolation(mc); + } catch (ResourceException re) { + try { + mc.destroy(); + } catch (ResourceException e) { + _logger.log(Level.WARNING, "jdbc.exc_destroy", e.getCause()); + } + throw re; + } return mc; } Index: jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DMManagedConnectionFactory.java =================================================================== --- jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DMManagedConnectionFactory.java (revision 47843) +++ jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DMManagedConnectionFactory.java (working copy) @@ -168,8 +168,16 @@ null, dsConn, pc, this); //GJCINT - setIsolation(mc); - isValid(mc); + try { + validateAndSetIsolation(mc); + } catch (ResourceException re) { + try { + mc.destroy(); + } catch (ResourceException e) { + _logger.log(Level.WARNING, "jdbc.exc_destroy", e.getCause()); + } + throw re; + } return mc; } Index: jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DSManagedConnectionFactory.java =================================================================== --- jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DSManagedConnectionFactory.java (revision 47843) +++ jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DSManagedConnectionFactory.java (working copy) @@ -132,7 +132,16 @@ ManagedConnection mc = constructManagedConnection(null, dsConn, pc, this); //GJCINT - validateAndSetIsolation(mc); + try { + validateAndSetIsolation(mc); + } catch (ResourceException re) { + try { + mc.destroy(); + } catch (ResourceException e) { + _logger.log(Level.WARNING, "jdbc.exc_destroy", e.getCause()); + } + throw re; + } return mc; } Index: jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAManagedConnectionFactory.java =================================================================== --- jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAManagedConnectionFactory.java (revision 47843) +++ jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAManagedConnectionFactory.java (working copy) @@ -133,7 +133,16 @@ mc.initializeConnectionType(ManagedConnection.ISXACONNECTION); //GJCINT - validateAndSetIsolation(mc); + try { + validateAndSetIsolation(mc); + } catch (ResourceException re) { + try { + mc.destroy(); + } catch (ResourceException e) { + _logger.log(Level.WARNING, "jdbc.exc_destroy", e.getCause()); + } + throw re; + } return mc; }