Class AbstractDataSourceBasedMultiTenantConnectionProviderImpl

    • Constructor Detail

      • AbstractDataSourceBasedMultiTenantConnectionProviderImpl

        public AbstractDataSourceBasedMultiTenantConnectionProviderImpl()
    • Method Detail

      • selectAnyDataSource

        protected abstract DataSource selectAnyDataSource()
      • selectDataSource

        protected abstract DataSource selectDataSource​(String tenantIdentifier)
      • supportsAggressiveRelease

        public boolean supportsAggressiveRelease()
        Description copied from interface: MultiTenantConnectionProvider
        Does this connection provider support aggressive release of JDBC connections and later re-acquisition of those connections if needed?

        This is used in conjunction with ConnectionReleaseMode.AFTER_STATEMENT to aggressively release JDBC connections. However, the configured ConnectionProvider must support re-acquisition of the same underlying connection for that semantic to work.

        Typically, this is only true in managed environments where a container tracks connections by transaction or thread. Note that JTA semantic depends on the fact that the underlying connection provider does support aggressive release.

        Specified by:
        supportsAggressiveRelease in interface MultiTenantConnectionProvider
        true if aggressive releasing is supported; false otherwise.
      • isUnwrappableAs

        public boolean isUnwrappableAs​(Class<?> unwrapType)
        Description copied from interface: Wrapped
        Can this wrapped service be unwrapped as the indicated type?
        Specified by:
        isUnwrappableAs in interface Wrapped
        unwrapType - The type to check.
      • unwrap

        public <T> T unwrap​(Class<T> unwrapType)
        Description copied from interface: Wrapped
        Unproxy the service proxy
        Specified by:
        unwrap in interface Wrapped
        unwrapType - The java type as which to unwrap this instance.
        The unwrapped reference