package jef.database.datasource; import java.sql.SQLException; import java.util.Map.Entry; import java.util.Set; import javax.sql.DataSource; import jef.common.Callback; /** * * @author jiyi * */ public interface IRoutingDataSource{ /** * 询问目前是否只有一个datasource * @return */ boolean isSingleDatasource(); /** * 返回所有路由的数据源名称 * @return */ Set<String> getDataSourceNames(); /** * 得真正的datasource * @param lookupKey * @return */ DataSource getDataSource(String lookupKey); /** * 得到缺省的datrasoruce * @return */ Entry<String,DataSource> getDefaultDatasource(); /** * 设置初始化回调 */ void setCallback(Callback<String,SQLException> callback); }