package com.shata.migration.connPool; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import com.shata.migration.utils.Config; public class ConnInstance { private final static ConnInstance instance = new ConnInstance(); private MysqlPoolFactory mysqlConn_from; private MysqlPoolFactory mysqlConn_to; private GenericObjectPoolConfig config; private ConnInstance() { init_pool_config(); init_from(); init_to(); } private void init_pool_config() { config = new GenericObjectPoolConfig(); config.setLifo(Config.getBoolean("lifo")); config.setMaxTotal(Config.getInt("maxTotal")); config.setMaxIdle(Config.getInt("maxIdle")); config.setMaxWaitMillis(Config.getLong("maxWait")); config.setMinEvictableIdleTimeMillis(Config.getLong("minEvictableIdleTimeMillis")); config.setMinIdle(Config.getInt("minIdle")); config.setNumTestsPerEvictionRun(Config.getInt("numTestsPerEvictionRun")); config.setTestOnBorrow(Config.getBoolean("testOnBorrow")); config.setTestOnReturn(Config.getBoolean("testOnReturn")); config.setTestWhileIdle(Config.getBoolean("testWhileIdle")); config.setTimeBetweenEvictionRunsMillis(Config.getLong("timeBetweenEvictionRunsMillis")); } private void init_from() { String url = Config.getSetting("jdbc_url_from"); String user = Config.getSetting("jdbc_user_from"); String password = Config.getSetting("jdbc_password_from"); mysqlConn_from = new MysqlPoolFactory(config, url, user, password); } private void init_to() { String url = Config.getSetting("jdbc_url_to"); String user = Config.getSetting("jdbc_user_to"); String password = Config.getSetting("jdbc_password_to"); mysqlConn_to = new MysqlPoolFactory(config, url, user, password); } public static MysqlPoolFactory getFromInstance() { return instance.mysqlConn_from; } public static MysqlPoolFactory getToInstance() { return instance.mysqlConn_to; } }