class GovernanceShardingSphereDataSource extends AbstractUnsupportedOperationDataSource implements AutoCloseable {

    @Override
    public Connection getConnection() {
        return schemaContexts.isCircuitBreak() ? new CircuitBreakerDataSource().getConnection()
                : new ShardingSphereConnection(getDataSourceMap(), schemaContexts, transactionContexts, TransactionTypeHolder.get());
    }

    public  GovernanceShardingSphereDataSource(final GovernanceConfiguration governanceConfig);
    public  GovernanceShardingSphereDataSource(final Map<String, DataSource> dataSourceMap, final Collection<RuleConfiguration> ruleConfigs, 
                                              final Properties props, final GovernanceConfiguration governanceConfig);

}