@Override public void jdbcConnectionAcquisitionEnd(Connection connection) { for ( ConnectionObserver observer : observers ) { observer.physicalConnectionObtained( connection ); } }
@Override public void jdbcConnectionReleaseEnd() { for ( ConnectionObserver observer : observers ) { observer.physicalConnectionReleased(); } }
@Override public void jdbcPrepareStatementEnd() { for ( ConnectionObserver observer : observers ) { observer.statementPrepared(); } session.getEventListenerManager().jdbcPrepareStatementEnd(); }
@Override public Connection close() { LOG.trace( "Closing logical connection" ); Connection c = isUserSuppliedConnection ? physicalConnection : null; try { releaseProxies(); jdbcResourceRegistry.close(); if ( !isUserSuppliedConnection && physicalConnection != null ) { releaseConnection(); } return c; } finally { // no matter what physicalConnection = null; isClosed = true; LOG.trace( "Logical connection closed" ); for ( ConnectionObserver observer : observers ) { observer.logicalConnectionClosed(); } observers.clear(); } }
@Override public Connection close() { LOG.trace( "Closing logical connection" ); Connection c = isUserSuppliedConnection ? physicalConnection : null; try { releaseProxies(); jdbcResourceRegistry.close(); if ( !isUserSuppliedConnection && physicalConnection != null ) { releaseConnection(); } return c; } finally { // no matter what physicalConnection = null; isClosed = true; LOG.trace( "Logical connection closed" ); for ( ConnectionObserver observer : observers ) { observer.logicalConnectionClosed(); } observers.clear(); } }
@Override public void jdbcConnectionReleaseEnd() { for ( ConnectionObserver observer : observers ) { observer.physicalConnectionReleased(); } }
@Override public void notifyObserversStatementPrepared() { for ( ConnectionObserver observer : observers ) { observer.statementPrepared(); } }
@Override public void jdbcConnectionAcquisitionEnd(Connection connection) { for ( ConnectionObserver observer : observers ) { observer.physicalConnectionObtained( connection ); } }
/** * Physically closes the JDBC Connection. * * @throws JDBCException Indicates problem closing a connection */ private void releaseConnection() throws JDBCException { LOG.debug( "Releasing JDBC connection" ); if ( physicalConnection == null ) { return; } try { if ( !physicalConnection.isClosed() ) { getJdbcServices().getSqlExceptionHelper().logAndClearWarnings( physicalConnection ); } if ( !isUserSuppliedConnection ) { jdbcConnectionAccess.releaseConnection( physicalConnection ); } } catch (SQLException e) { throw getJdbcServices().getSqlExceptionHelper().convert( e, "Could not close connection" ); } finally { physicalConnection = null; } LOG.debug( "Released JDBC connection" ); for ( ConnectionObserver observer : observers ) { observer.physicalConnectionReleased(); } releaseNonDurableObservers(); }
@Override public void notifyObserversStatementPrepared() { for ( ConnectionObserver observer : observers ) { observer.statementPrepared(); } }
/** * Physically opens a JDBC Connection. * * @throws org.hibernate.JDBCException Indicates problem opening a connection */ private void obtainConnection() throws JDBCException { LOG.debug( "Obtaining JDBC connection" ); try { physicalConnection = jdbcConnectionAccess.obtainConnection(); for ( ConnectionObserver observer : observers ) { observer.physicalConnectionObtained( physicalConnection ); } LOG.debug( "Obtained JDBC connection" ); } catch ( SQLException sqle) { throw getJdbcServices().getSqlExceptionHelper().convert( sqle, "Could not open connection" ); } }
/** * Physically closes the JDBC Connection. * * @throws JDBCException Indicates problem closing a connection */ private void releaseConnection() throws JDBCException { LOG.debug( "Releasing JDBC connection" ); if ( physicalConnection == null ) { return; } try { if ( !physicalConnection.isClosed() ) { getJdbcServices().getSqlExceptionHelper().logAndClearWarnings( physicalConnection ); } if ( !isUserSuppliedConnection ) { jdbcConnectionAccess.releaseConnection( physicalConnection ); } } catch (SQLException e) { throw getJdbcServices().getSqlExceptionHelper().convert( e, "Could not close connection" ); } finally { physicalConnection = null; } LOG.debug( "Released JDBC connection" ); for ( ConnectionObserver observer : observers ) { observer.physicalConnectionReleased(); } releaseNonDurableObservers(); }
@Override public void jdbcPrepareStatementEnd() { for ( ConnectionObserver observer : observers ) { observer.statementPrepared(); } session.getEventListenerManager().jdbcPrepareStatementEnd(); }
/** * Physically opens a JDBC Connection. * * @throws org.hibernate.JDBCException Indicates problem opening a connection */ private void obtainConnection() throws JDBCException { LOG.debug( "Obtaining JDBC connection" ); try { physicalConnection = jdbcConnectionAccess.obtainConnection(); for ( ConnectionObserver observer : observers ) { observer.physicalConnectionObtained( physicalConnection ); } LOG.debug( "Obtained JDBC connection" ); } catch ( SQLException sqle) { throw getJdbcServices().getSqlExceptionHelper().convert( sqle, "Could not open connection" ); } }