/** * INTERNAL: * When you release an external connection, you simply let it go. */ public void releaseConnection(Accessor connection) throws DatabaseException { connection.closeConnection(); connection.releaseCustomizer(); }
/** * INTERNAL: * When you release an external connection, you simply let it go. */ public void releaseConnection(Accessor connection) throws DatabaseException { if (this.owner.shouldLog(SessionLog.FINEST, SessionLog.CONNECTION)) { Object[] args = new Object[1]; args[0] = this.name; this.owner.log(SessionLog.FINEST, SessionLog.CONNECTION, "release_connection", args, connection); } if (!this.failoverConnectionPools.isEmpty()) { if (!connection.isValid()) { if (this.checkConnections) { // If 2nd dead connection, then assume dead. this.isDead = true; } else { this.checkConnections = true; } } else { this.checkConnections = false; } } connection.closeConnection(); connection.releaseCustomizer(); }
/** * INTERNAL: * Release any invalid connection in the client session. */ public void releaseInvalidClientSession(ClientSession clientSession) throws DatabaseException { for (Iterator<Accessor> accessors = clientSession.getWriteConnections().values().iterator(); accessors.hasNext(); ) { Accessor accessor = accessors.next(); if (!accessor.isValid()) { if (clientSession.getConnectionPolicy().isPooled()) { try { accessor.getPool().releaseConnection(accessor); } catch (Exception ignore) {} } else { if (!accessor.usesExternalConnectionPooling()) { clientSession.disconnect(accessor); } else { accessor.closeConnection(); } if (this.maxNumberOfNonPooledConnections != NO_MAX) { synchronized (this) { this.numberOfNonPooledConnectionsUsed--; notify(); } } } accessors.remove(); } } }
/** * INTERNAL: * When you release an external connection, you simply let it go. */ public void releaseConnection(Accessor connection) throws DatabaseException { if (this.owner.shouldLog(SessionLog.FINEST, SessionLog.CONNECTION)) { Object[] args = new Object[1]; args[0] = this.name; this.owner.log(SessionLog.FINEST, SessionLog.CONNECTION, "release_connection", args, connection); } if (!this.failoverConnectionPools.isEmpty()) { if (!connection.isValid()) { if (this.checkConnections) { // If 2nd dead connection, then assume dead. this.isDead = true; } else { this.checkConnections = true; } } else { this.checkConnections = false; } } connection.closeConnection(); connection.releaseCustomizer(); }
try { connection.closeConnection(); } catch (Exception ex){
clientSession.disconnect(accessor); } else { accessor.closeConnection();
try { connection.closeConnection(); } catch (Exception ex){
try { connection.closeConnection(); } catch (Exception ex){
try { connection.closeConnection(); } catch (Exception ex){
try { connection.closeConnection(); } catch (Exception ex){
} else { clientSession.getWriteConnection().closeConnection();