package com.nfwork.dbfound.db; import java.util.HashMap; import java.util.Map; import com.nfwork.dbfound.exception.DBFoundRuntimeException; import com.nfwork.dbfound.util.LogUtil; public class ConnectionProvideManager { private static Map<String, ConnectionProvide> provides = new HashMap<String, ConnectionProvide>(); // 注册数据源 static void registSource(ConnectionProvide provide) { String provideName = provide.getProvideName(); synchronized (provides) { ConnectionProvide s = provides.get(provideName); if (s != null) { LogUtil.info("close provide (" + provides + "),release resource"); provides.remove(provideName); } provides.put(provideName, provide); } } // 取消注册数据源 static void unRegistSource(ConnectionProvide provide) { String provideName = provide.getProvideName(); synchronized (provides) { provides.remove(provideName); } } public static ConnectionProvide getConnectionProvide(String provideName) { ConnectionProvide provide = provides.get(provideName); if (provide == null) { throw new DBFoundRuntimeException("can not found ConnectionProvide:" + provideName + ", please check config"); } return provide; } }