code: @Override
  	public Connection getConnection(final String datasourceName) {
  		try {
  			DataSource ds = dsMap.computeIfAbsent(datasourceName, DataSourceConnectionSupplierImpl::getNewDataSource);
  			final Connection connection;
  			synchronized (ds) {
  				connection = ds.getConnection();
  			}
  			boolean autoCommit = getAutoCommit(datasourceName);
  			if (connection.getAutoCommit() != autoCommit) {
  				connection.setAutoCommit(autoCommit);
  			}
  			boolean readOnly = getReadOnly(datasourceName);
  			if (connection.isReadOnly() != readOnly) {
  				connection.setReadOnly(readOnly);
  			}
  			int transactionIsolation = getTransactionIsolation(datasourceName);
  			if (transactionIsolation > 0 && connection.getTransactionIsolation() != transactionIsolation) {
  				connection.setTransactionIsolation(transactionIsolation);
  			}
  			return connection;
  		} catch (SQLException ex) {
  			throw new UroborosqlRuntimeException("Connection[" + datasourceName + "] can not be acquired.", ex);
  		}
  	}
docs: {@inheritDoc}
  
  @param datasourceName 取得するコネクションのデータソース名
  
  @see jp.co.future.uroborosql.connection.ConnectionSupplier#getConnection(java.lang.String)