0
私はSpringブート(1.4)アプリケーションでスキーマごとにマルチテナントをサポートしようとしています。私は私の設定に次のように持って次のようにMultiTenantConnectionProviderの実装でautowiredデータソースがnullになっています
hibernate:
format_sql: true
default_schema: corrto
multiTenancy: SCHEMA
tenant_identifier_resolver: com.config.HeaderTenantIdentifierResolver
multi_tenant_connection_provider: com.config.SchemaPerTenantConnectionProvider
マイMultiTenantConnectionProviderの実装は次のとおりです。
public class SchemaPerTenantConnectionProvider implements MultiTenantConnectionProvider {
@Autowired
private DataSource dataSource;
@Override
public Connection getAnyConnection() throws SQLException {
return this.dataSource.getConnection();
}
@Override
public void releaseAnyConnection(Connection connection) throws SQLException {
connection.close();
}
@Override
public Connection getConnection(String tenantIdentifier) throws SQLException {
final Connection connection = this.getAnyConnection();
// need to do stuff here
return connection;
}
@Override
public void releaseConnection(String tenantIdentifier, Connection connection) throws SQLException {
}
@Override
public boolean supportsAggressiveRelease() {
return true;
}
@Override
public boolean isUnwrappableAs(Class unwrapType) {
return false;
}
@Override
public <T> T unwrap(Class<T> unwrapType) {
return null;
}
}
dataSource
がnullであるので、それが失敗しています。私はそれがまだ作成されていないと仮定しているが、私はGoogleを介して解決策を見つけるのに苦労している。
データソースをセットアップしましたか? – Taylor
'SchemaPerTenantConnectionProvider'はautowiredにするために' @ Component'で注釈を付けるべきではありませんか? – jny