@Override public Connection obtainConnection() throws SQLException { return connectionProvider.getAnyConnection(); }
@Override public void releaseConnection(Connection connection) throws SQLException { connectionProvider.releaseAnyConnection( connection ); }
@Override public boolean supportsAggressiveRelease() { return connectionProvider.supportsAggressiveRelease(); } }
@Override public Connection obtainConnection() throws SQLException { if ( tenantIdentifier == null ) { throw new HibernateException( "Tenant identifier required!" ); } try { listener.jdbcConnectionAcquisitionStart(); return connectionProvider.getConnection( tenantIdentifier ); } finally { listener.jdbcConnectionAcquisitionEnd(); } }
@Override public void releaseConnection(Connection connection) throws SQLException { if ( tenantIdentifier == null ) { throw new HibernateException( "Tenant identifier required!" ); } try { listener.jdbcConnectionReleaseStart(); connectionProvider.releaseConnection( tenantIdentifier, connection ); } finally { listener.jdbcConnectionReleaseEnd(); } }
@Test @TestForIssue(jiraKey = "HHH-11651") public void testUnwrappingAbstractMultiTenantConnectionProvider() { final MultiTenantConnectionProvider multiTenantConnectionProvider = serviceRegistry.getService( MultiTenantConnectionProvider.class ); final AbstractMultiTenantConnectionProvider connectionProvider = multiTenantConnectionProvider.unwrap( AbstractMultiTenantConnectionProvider.class ); assertThat( connectionProvider, is( notNullValue() ) ); }
@Override public Connection obtainConnection() throws SQLException { if ( tenantIdentifier == null ) { throw new HibernateException( "Tenant identifier required!" ); } try { listener.jdbcConnectionAcquisitionStart(); return connectionProvider.getConnection( tenantIdentifier ); } finally { listener.jdbcConnectionAcquisitionEnd(); } }
@Override public void releaseConnection(Connection connection) throws SQLException { if ( tenantIdentifier == null ) { throw new HibernateException( "Tenant identifier required!" ); } try { listener.jdbcConnectionReleaseStart(); connectionProvider.releaseConnection( tenantIdentifier, connection ); } finally { listener.jdbcConnectionReleaseEnd(); } }
@Test @TestForIssue( jiraKey = "HHH-11651") public void testUnwrappingConnectionProvider() { final MultiTenantConnectionProvider multiTenantConnectionProvider = serviceRegistry.getService( MultiTenantConnectionProvider.class ); final ConnectionProvider connectionProvider = multiTenantConnectionProvider.unwrap( ConnectionProvider.class ); assertThat( connectionProvider, is( notNullValue() ) ); }
@Override public void releaseConnection(Connection connection) throws SQLException { if ( !settings.getMultiTenancyStrategy().requiresMultiTenantConnectionProvider() ) { serviceRegistry.getService( ConnectionProvider.class ).closeConnection( connection ); } else { serviceRegistry.getService( MultiTenantConnectionProvider.class ).releaseAnyConnection( connection ); } }
@Override public boolean supportsAggressiveRelease() { return connectionProvider.supportsAggressiveRelease(); } }
@Override public Connection obtainConnection() throws SQLException { return !settings.getMultiTenancyStrategy().requiresMultiTenantConnectionProvider() ? serviceRegistry.getService( ConnectionProvider.class ).getConnection() : serviceRegistry.getService( MultiTenantConnectionProvider.class ).getAnyConnection(); }
@Test @TestForIssue(jiraKey = "HHH-11651") public void testUnwrappingMultiTenantConnectionProvider() { final MultiTenantConnectionProvider multiTenantConnectionProvider = serviceRegistry.getService( MultiTenantConnectionProvider.class ); final MultiTenantConnectionProvider connectionProvider = multiTenantConnectionProvider.unwrap( MultiTenantConnectionProvider.class ); assertThat( connectionProvider, is( notNullValue() ) ); } }
@Override public void releaseConnection(Connection connection) throws SQLException { connectionProvider.releaseAnyConnection( connection ); }
@Override public boolean supportsAggressiveRelease() { return connectionProvider.supportsAggressiveRelease(); } }
@Override public Connection obtainConnection() throws SQLException { return connectionProvider.getAnyConnection(); }
@Override public void releaseConnection(Connection connection) throws SQLException { if ( !settings.getMultiTenancyStrategy().requiresMultiTenantConnectionProvider() ) { serviceRegistry.getService( ConnectionProvider.class ).closeConnection( connection ); } else { serviceRegistry.getService( MultiTenantConnectionProvider.class ).releaseAnyConnection( connection ); } }
@Override public boolean supportsAggressiveRelease() { return connectionProvider.supportsAggressiveRelease(); } }
@Override public Connection obtainConnection() throws SQLException { return !settings.getMultiTenancyStrategy().requiresMultiTenantConnectionProvider() ? serviceRegistry.getService( ConnectionProvider.class ).getConnection() : serviceRegistry.getService( MultiTenantConnectionProvider.class ).getAnyConnection(); }