@Override public ServerCache get() { String fullKey = key + "_" + tenantProvider.currentId(); return getCacheInternal(beanType, fullKey, type); } }
@Override public Object currentTenantId() { return currentTenantProvider.currentId(); }
/** * Returns the DB schema for the current user Tenant Id. */ private String tenantSchema() { return schemaProvider.schema(tenantProvider.currentId()); }
@Override public DataSource getDataSource() { return dataSourceProvider.dataSource(tenantProvider.currentId()); }
private SpiTransaction create(boolean explicit, Object tenantId) { Connection c = null; try { if (tenantId == null) { // tenantId not set (by lazy loading) so get current tenantId tenantId = tenantProvider.currentId(); } c = dataSourceSupplier.getConnection(tenantId); SpiTransaction transaction = manager.createTransaction(explicit, c, counter.incrementAndGet()); transaction.setTenantId(tenantId); return transaction; } catch (PersistenceException ex) { JdbcClose.close(c); throw ex; } catch (SQLException ex) { throw new PersistenceException(ex); } }