package org.n3r.eql.mtcp;
import com.codahale.metrics.MetricRegistry;
import javax.sql.DataSource;
import java.util.Map;
import java.util.concurrent.ScheduledExecutorService;
public interface DataSourceConfigurator {
/**
* 准备连接池配置器
* @param tenantId 租户ID
* @param props 租户连接池属性
* @param metricsRegistry 连接池指标注册器
* @param destroyScheduler 连接池空闲连接销毁排程器
*/
void prepare(String tenantId, Map<String, String> props,
MetricRegistry metricsRegistry,
ScheduledExecutorService destroyScheduler);
/**
* 获取连接池
* @return 连接池
*/
DataSource getDataSource();
/**
* 销毁连接池
* @param tenantId 商户id
* @param metricsRegistry 度量注册器
*/
void destory(String tenantId, MetricRegistry metricsRegistry);
}