@Override public void cancelLastQuery() { logicalConnection.getResourceRegistry().cancelLastQuery(); }
@Override public void afterTransaction() { if ( connectionReleaseMode == ConnectionReleaseMode.AFTER_STATEMENT || connectionReleaseMode == ConnectionReleaseMode.AFTER_TRANSACTION ) { if ( jdbcResourceRegistry.hasRegisteredResources() ) { LOG.forcingContainerResourceCleanup(); jdbcResourceRegistry.releaseResources(); } aggressiveRelease(); } }
private void postProcessStatement(Statement statement) throws SQLException { getResourceRegistry().register( statement ); }
private void explicitClose(ResultSet proxy) { if ( isValid() ) { getResourceRegistry().release( proxy ); } }
@Override public boolean isReadyForSerialization() { return isUserSuppliedConnection ? ! isPhysicallyConnected() : ! getResourceRegistry().hasRegisteredResources(); }
@Override public Connection manualDisconnect() { if ( isClosed ) { throw new IllegalStateException( "cannot manually disconnect because logical connection is already closed" ); } releaseProxies(); Connection c = physicalConnection; jdbcResourceRegistry.releaseResources(); releaseConnection(); return c; }
@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(); } }
logicalConnection().getResourceRegistry().registerLastQuery( ps ); return ps; logicalConnection().getResourceRegistry().registerLastQuery( ps ); return ps;
private void explicitClose(ResultSet proxy) { if ( isValid() ) { getResourceRegistry().release( proxy ); } }
@Override public boolean isReadyForSerialization() { return isUserSuppliedConnection ? ! isPhysicallyConnected() : ! getResourceRegistry().hasRegisteredResources(); }
@Override public Connection manualDisconnect() { if ( isClosed ) { throw new IllegalStateException( "cannot manually disconnect because logical connection is already closed" ); } releaseProxies(); Connection c = physicalConnection; jdbcResourceRegistry.releaseResources(); releaseConnection(); return c; }
@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(); } }
logicalConnection().getResourceRegistry().registerLastQuery( ps ); return ps; logicalConnection().getResourceRegistry().registerLastQuery( ps ); return ps;
@Override public void afterTransaction() { if ( connectionReleaseMode == ConnectionReleaseMode.AFTER_STATEMENT || connectionReleaseMode == ConnectionReleaseMode.AFTER_TRANSACTION ) { if ( jdbcResourceRegistry.hasRegisteredResources() ) { LOG.forcingContainerResourceCleanup(); jdbcResourceRegistry.releaseResources(); } aggressiveRelease(); } }
private void postProcessStatement(Statement statement) throws SQLException { getResourceRegistry().register( statement ); }
private void explicitClose(Statement proxy) { if ( isValid() ) { LogicalConnectionImplementor lc = getConnectionProxy().getLogicalConnection(); getResourceRegistry().release( proxy ); lc.afterStatementExecution(); } }
@Override public void afterStatementExecution() { LOG.tracev( "Starting after statement execution processing [{0}]", connectionReleaseMode ); if ( connectionReleaseMode == ConnectionReleaseMode.AFTER_STATEMENT ) { if ( ! releasesEnabled ) { LOG.debug( "Skipping aggressive release due to manual disabling" ); return; } if ( jdbcResourceRegistry.hasRegisteredResources() ) { LOG.debug( "Skipping aggressive release due to registered resources" ); return; } releaseConnection(); } }
@Override public void cancelLastQuery() { logicalConnection.getResourceRegistry().cancelLastQuery(); }
private Object wrapIfNecessary(Object result, Object proxy, Method method) { if ( !( ResultSet.class.isAssignableFrom( method.getReturnType() ) ) ) { return result; } final ResultSet wrapper; if ( "getGeneratedKeys".equals( method.getName() ) ) { wrapper = ProxyBuilder.buildImplicitResultSet( ( ResultSet ) result, connectionProxyHandler, connectionProxy, ( Statement ) proxy ); } else { wrapper = ProxyBuilder.buildResultSet( ( ResultSet ) result, this, ( Statement ) proxy ); } getResourceRegistry().register( wrapper ); return wrapper; }
private void explicitClose(Statement proxy) { if ( isValid() ) { LogicalConnectionImplementor lc = getConnectionProxy().getLogicalConnection(); getResourceRegistry().release( proxy ); lc.afterStatementExecution(); } }