Java Code Examples for com.mchange.v2.c3p0.ComboPooledDataSource#setMaxIdleTime()
The following examples show how to use
com.mchange.v2.c3p0.ComboPooledDataSource#setMaxIdleTime() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: C3P0PoolManager.java From wind-im with Apache License 2.0 | 6 votes |
public static void initPool(Properties pro) throws Exception { String jdbcUrl = getJdbcUrl(pro); String userName = trimToNull(pro, JdbcConst.MYSQL_USER_NAME); String password = trimToNull(pro, JdbcConst.MYSQL_PASSWORD); cpds = new ComboPooledDataSource(); cpds.setDriverClass(MYSQL_JDBC_DRIVER); // loads the jdbc driver cpds.setJdbcUrl(jdbcUrl); cpds.setUser(userName); cpds.setPassword(password); int inititalSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_INITIAL_SIZE, "10")); int maxSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_MAX_SIZE, "100")); cpds.setInitialPoolSize(inititalSize);// 初始创建默认10个连接 cpds.setMaxPoolSize(maxSize);// 最大默认100个 int inc = (maxSize - inititalSize) / 5; cpds.setAcquireIncrement(Integer.max(1, inc));// 每次创建10个 int maxIdle = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_MAX_IDLE, "60")); cpds.setMaxIdleTime(maxIdle);// 最大空闲时间 SqlLog.info("windchat init mysql master connection pool cpds={}", cpds); }
Example 2
Source File: C3P0ConnectionPool.java From Project with Apache License 2.0 | 6 votes |
/** * 使用硬连接的方式 * @throws PropertyVetoException * @throws SQLException */ public void HardcodeStyleTest() throws PropertyVetoException, SQLException { // 1.创建连接池的核心工具类 ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource(); // 2.设置连接数据库所需的参数 comboPooledDataSource.setDriverClass("com.mysql.cj.jdbc.Driver"); comboPooledDataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day34jdbc?serverTimezone = GMT%2B8 "); comboPooledDataSource.setUser("root"); comboPooledDataSource.setPassword("GJXAIOU"); // 3.设置C3P0连接池的属性:初始化连接数、最大连接数、等待时间 comboPooledDataSource.setInitialPoolSize(3); comboPooledDataSource.setMaxPoolSize(6); comboPooledDataSource.setMaxIdleTime(1000); // 4.从连接池中获取数据库连接对象 Connection connection = comboPooledDataSource.getConnection(); // 5.准备preparedStatement执行SQL语句 connection.prepareStatement("delete from person where id = 3").executeUpdate(); }
Example 3
Source File: C3P0PoolManager.java From openzaly with Apache License 2.0 | 6 votes |
public static void initPool(Properties pro) throws Exception { String jdbcUrl = getJdbcUrl(pro); String userName = trimToNull(pro, JdbcConst.MYSQL_USER_NAME); String password = trimToNull(pro, JdbcConst.MYSQL_PASSWORD); cpds = new ComboPooledDataSource(); cpds.setDriverClass(MYSQL_JDBC_DRIVER); // loads the jdbc driver cpds.setJdbcUrl(jdbcUrl); cpds.setUser(userName); cpds.setPassword(password); int inititalSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_INITIAL_SIZE, "10")); int maxSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_MAX_SIZE, "100")); cpds.setInitialPoolSize(inititalSize);// 初始创建默认10个连接 cpds.setMaxPoolSize(maxSize);// 最大默认100个 int inc = (maxSize - inititalSize) / 5; cpds.setAcquireIncrement(Integer.max(1, inc));// 每次创建10个 int maxIdle = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_MAX_IDLE, "60")); cpds.setMaxIdleTime(maxIdle);// 最大空闲时间 SqlLog.info("openzaly init mysql master connection pool cpds={}", cpds); }
Example 4
Source File: DbToolkit.java From LuckyFrameClient with GNU Affero General Public License v3.0 | 6 votes |
public DbToolkit(String urlBase,String usernameBase,String passwordBase){ cpds=new ComboPooledDataSource(); cpds.setUser(usernameBase); cpds.setPassword(passwordBase); cpds.setJdbcUrl(urlBase); try { cpds.setDriverClass(DRIVERCLASS); } catch (PropertyVetoException e) { // TODO Auto-generated catch block e.printStackTrace(); } cpds.setInitialPoolSize(20); cpds.setMaxIdleTime(20); cpds.setMaxPoolSize(30); cpds.setMinPoolSize(1); }
Example 5
Source File: C3P0PoolManager.java From openzaly with Apache License 2.0 | 6 votes |
public static void initPool(Properties pro) throws Exception { String jdbcUrl = getDBUrl(pro); String userName = trimToNull(pro, JdbcConst.MYSQL_USER_NAME); String password = trimToNull(pro, JdbcConst.MYSQL_PASSWORD); cpds = new ComboPooledDataSource(); cpds.setDriverClass(MYSQL_JDBC_DRIVER); // loads the jdbc driver cpds.setJdbcUrl(jdbcUrl); cpds.setUser(userName); cpds.setPassword(password); int inititalSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_INITIAL_SIZE, "10")); int maxSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_MAX_SIZE, "100")); cpds.setInitialPoolSize(inititalSize);// 初始创建默认10个连接 cpds.setMaxPoolSize(maxSize);// 最大默认100个 int inc = (maxSize - inititalSize) / 5; cpds.setAcquireIncrement(Integer.max(1, inc));// 每次创建10个 int maxIdle = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_MAX_IDLE, "60")); cpds.setMaxIdleTime(maxIdle);// 最大空闲时间 SqlLog.info("openzaly init mysql master connection pool cpds={}", cpds); }
Example 6
Source File: C3p0DataSourcePool.java From EasyReport with Apache License 2.0 | 6 votes |
@Override public DataSource wrap(ReportDataSource rptDs) { try { ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass(rptDs.getDriverClass()); dataSource.setJdbcUrl(rptDs.getJdbcUrl()); dataSource.setUser(rptDs.getUser()); dataSource.setPassword(rptDs.getPassword()); dataSource.setInitialPoolSize(MapUtils.getInteger(rptDs.getOptions(), "initialPoolSize", 3)); dataSource.setMinPoolSize(MapUtils.getInteger(rptDs.getOptions(), "minPoolSize", 1)); dataSource.setMaxPoolSize(MapUtils.getInteger(rptDs.getOptions(), "maxPoolSize", 20)); dataSource.setMaxStatements(MapUtils.getInteger(rptDs.getOptions(), "maxStatements", 50)); dataSource.setMaxIdleTime(MapUtils.getInteger(rptDs.getOptions(), "maxIdleTime", 1800)); dataSource.setAcquireIncrement(MapUtils.getInteger(rptDs.getOptions(), "acquireIncrement", 3)); dataSource.setAcquireRetryAttempts(MapUtils.getInteger(rptDs.getOptions(), "acquireRetryAttempts", 30)); dataSource.setIdleConnectionTestPeriod( MapUtils.getInteger(rptDs.getOptions(), "idleConnectionTestPeriod", 60)); dataSource.setBreakAfterAcquireFailure( MapUtils.getBoolean(rptDs.getOptions(), "breakAfterAcquireFailure", false)); dataSource.setTestConnectionOnCheckout( MapUtils.getBoolean(rptDs.getOptions(), "testConnectionOnCheckout", false)); return dataSource; } catch (Exception ex) { throw new RuntimeException("C3p0DataSourcePool Create Error", ex); } }
Example 7
Source File: C3P0DataSourceFactoryBean.java From cloud-config with MIT License | 6 votes |
private ComboPooledDataSource createNewDataSource() throws Exception { ComboPooledDataSource c3p0DataSource = new ComboPooledDataSource(); c3p0DataSource.setDriverClass(config.getDriverClassName()); //loads the jdbc driver c3p0DataSource.setJdbcUrl(config.getJdbcUrl()); c3p0DataSource.setUser(config.getUserName()); c3p0DataSource.setPassword(config.getPassword()); // the settings below are optional -- c3p0 can work with defaults c3p0DataSource.setMinPoolSize(config.getMinPoolSize()); c3p0DataSource.setMaxPoolSize(config.getMaxPoolSize()); c3p0DataSource.setAcquireIncrement(config.getAcquireIncrement()); c3p0DataSource.setMaxStatements(config.getMaxStatements()); c3p0DataSource.setIdleConnectionTestPeriod(config.getIdleTestPeriod()); c3p0DataSource.setMaxIdleTime(config.getMaxIdleTime()); return c3p0DataSource; }
Example 8
Source File: C3P0PoolSlaveManager.java From openzaly with Apache License 2.0 | 5 votes |
public static void initPool(Properties pro) throws Exception { List<String> jdbcUrlList = getSlaveJdbcUrl(pro); String userName = trimToNull(pro, JdbcConst.MYSQL_SLAVE_USER_NAME); String password = trimToNull(pro, JdbcConst.MYSQL_SLAVE_PASSWORD); if (jdbcUrlList == null || jdbcUrlList.size() == 0 || StringUtils.isAnyEmpty(userName, password)) { SqlLog.warn( "load database slave for mysql fail, system will user mysql master connection pool.urls={} user={} passwd={}", jdbcUrlList, userName, password); return; } cpdsList = new ArrayList<ComboPooledDataSource>(); for (String jdbcUrl : jdbcUrlList) { ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass(MYSQL_JDBC_DRIVER); // loads the jdbc driver cpds.setJdbcUrl(jdbcUrl); cpds.setUser(userName); cpds.setPassword(password); int inititalSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_SLAVE_INITIAL_SIZE, "10")); int maxSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_SLAVE_MAX_SIZE, "100")); cpds.setInitialPoolSize(inititalSize);// 初始创建默认10个连接 cpds.setMaxPoolSize(maxSize);// 最大默认100个 int inc = (maxSize - inititalSize) / 5; cpds.setAcquireIncrement(Integer.max(1, inc));// 每次创建个数 int maxIdle = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_SLAVE_MAX_IDLE, "60")); cpds.setMaxIdleTime(maxIdle);// 最大空闲时间 cpdsList.add(cpds); SqlLog.info("openzaly init mysql slave connection pool cpds={}", cpds.toString()); } }
Example 9
Source File: C3P0PoolSlaveManager.java From openzaly with Apache License 2.0 | 5 votes |
public static void initPool(Properties pro) throws Exception { List<String> jdbcUrlList = getSlaveDBUrl(pro); String userName = trimToNull(pro, JdbcConst.MYSQL_SLAVE_USER_NAME); String password = trimToNull(pro, JdbcConst.MYSQL_SLAVE_PASSWORD); if (jdbcUrlList == null || jdbcUrlList.size() == 0 || StringUtils.isAnyEmpty(userName, password)) { SqlLog.warn( "load database slave for mysql fail, system will user mysql master connection pool.urls={} user={} passwd={}", jdbcUrlList, userName, password); return; } cpdsList = new ArrayList<ComboPooledDataSource>(); for (String jdbcUrl : jdbcUrlList) { ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass(MYSQL_JDBC_DRIVER); // loads the jdbc driver cpds.setJdbcUrl(jdbcUrl); cpds.setUser(userName); cpds.setPassword(password); int inititalSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_SLAVE_INITIAL_SIZE, "10")); int maxSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_SLAVE_MAX_SIZE, "100")); cpds.setInitialPoolSize(inititalSize);// 初始创建默认10个连接 cpds.setMaxPoolSize(maxSize);// 最大默认100个 int inc = (maxSize - inititalSize) / 5; cpds.setAcquireIncrement(Integer.max(1, inc));// 每次创建个数 int maxIdle = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_SLAVE_MAX_IDLE, "60")); cpds.setMaxIdleTime(maxIdle);// 最大空闲时间 cpdsList.add(cpds); SqlLog.info("openzaly init mysql slave connection pool cpds={}", cpds.toString()); } }
Example 10
Source File: C3P0PoolSlaveManager.java From wind-im with Apache License 2.0 | 5 votes |
public static void initPool(Properties pro) throws Exception { List<String> jdbcUrlList = getSlaveJdbcUrl(pro); String userName = trimToNull(pro, JdbcConst.MYSQL_SLAVE_USER_NAME); String password = trimToNull(pro, JdbcConst.MYSQL_SLAVE_PASSWORD); if (jdbcUrlList == null || jdbcUrlList.size() == 0 || StringUtils.isAnyEmpty(userName, password)) { SqlLog.warn( "load database slave for mysql fail, system will user mysql master connection pool.urls={} user={} passwd={}", jdbcUrlList, userName, password); return; } cpdsList = new ArrayList<ComboPooledDataSource>(); for (String jdbcUrl : jdbcUrlList) { ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass(MYSQL_JDBC_DRIVER); // loads the jdbc driver cpds.setJdbcUrl(jdbcUrl); cpds.setUser(userName); cpds.setPassword(password); int inititalSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_SLAVE_INITIAL_SIZE, "10")); int maxSize = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_SLAVE_MAX_SIZE, "100")); cpds.setInitialPoolSize(inititalSize);// 初始创建默认10个连接 cpds.setMaxPoolSize(maxSize);// 最大默认100个 int inc = (maxSize - inititalSize) / 5; cpds.setAcquireIncrement(Integer.max(1, inc));// 每次创建个数 int maxIdle = Integer.valueOf(trimToNull(pro, JdbcConst.MYSQL_SLAVE_MAX_IDLE, "60")); cpds.setMaxIdleTime(maxIdle);// 最大空闲时间 cpdsList.add(cpds); SqlLog.info("windchat init mysql slave connection pool cpds={}", cpds.toString()); } }
Example 11
Source File: Database.java From SQLite-sync.com with BSD 3-Clause "New" or "Revised" License | 5 votes |
public Database() { String version = ""; try { String resourceName = "project.properties"; ClassLoader loader = Thread.currentThread().getContextClassLoader(); Properties props = new Properties(); try(InputStream resourceStream = loader.getResourceAsStream(resourceName)) { props.load(resourceStream); } version = props.getProperty("version"); } catch (IOException ex){ Logs.write(Logs.Level.ERROR, "GetVersionOfSQLiteSyncCOM: " + ex.getMessage()); } SQLiteSyncVersion = version; SQLiteSyncConfig.Load(); try { cpds = new ComboPooledDataSource(); cpds.setDriverClass(SQLiteSyncConfig.DBDRIVER); //loads the jdbc driver cpds.setJdbcUrl(SQLiteSyncConfig.DBURL); cpds.setUser(SQLiteSyncConfig.DBUSER); cpds.setPassword(SQLiteSyncConfig.DBPASS); // the settings below are optional -- c3p0 can work with defaults cpds.setMinPoolSize(3); cpds.setAcquireIncrement(3); cpds.setMaxPoolSize(10); cpds.setIdleConnectionTestPeriod(300); cpds.setMaxIdleTime(240); cpds.setTestConnectionOnCheckin(false); cpds.setMaxStatements(2000); cpds.setMaxStatementsPerConnection(100); } catch (PropertyVetoException e){ Logs.write(Logs.Level.ERROR, "Database constructor: " + e.getMessage()); } }
Example 12
Source File: ConnectionPoolManager.java From ezScrum with GNU General Public License v2.0 | 5 votes |
private DataSource createDataSource(String driverClass, String url, String account, String password) { ComboPooledDataSource dataSource = new ComboPooledDataSource(); try { dataSource.setDriverClass(driverClass); dataSource.setJdbcUrl(url); dataSource.setUser(account); dataSource.setPassword(password); dataSource.setMinPoolSize(10); dataSource.setMaxPoolSize(35); dataSource.setAcquireIncrement(0); dataSource.setMaxStatements(0); /** 最大允許的閒置時間(秒) */ dataSource.setMaxIdleTime(300); /** 對閒置的連線進行Query測試設置(秒) */ dataSource.setIdleConnectionTestPeriod(1800); /** Checkin connection時不檢查連線是否有效 */ dataSource.setTestConnectionOnCheckin(false); /** Checkout connection時檢查連線的有效性*/ dataSource.setTestConnectionOnCheckout(true); /** 進行test時使用的 Query設定*/ dataSource.setPreferredTestQuery("SELECT 1;"); /** Connection的最大有效時數(秒)*/ dataSource.setMaxConnectionAge(28800); /** Connection checkout 之後的有效時數(毫秒)*/ dataSource.setCheckoutTimeout(28800000); } catch (PropertyVetoException e) { e.printStackTrace(); } mPoolMap.put(url, dataSource); return dataSource; }
Example 13
Source File: DataSourceUtils.java From hasor with Apache License 2.0 | 5 votes |
public static DataSource loadDB(String dbID, Settings settings) throws Throwable { // 1.获取数据库连接配置信息 String driverString = settings.getString(dbID + ".driver"); String urlString = settings.getString(dbID + ".url"); String userString = settings.getString(dbID + ".user"); String pwdString = settings.getString(dbID + ".password"); // 2.创建数据库连接池 int poolMaxSize = 40; logger.info("C3p0 Pool Info maxSize is ‘%s’ driver is ‘%s’ jdbcUrl is‘%s’", poolMaxSize, driverString, urlString); ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass(driverString); dataSource.setJdbcUrl(urlString); dataSource.setUser(userString); dataSource.setPassword(pwdString); dataSource.setMaxPoolSize(poolMaxSize); dataSource.setInitialPoolSize(1); // dataSource.setAutomaticTestTable("DB_TEST_ATest001"); dataSource.setIdleConnectionTestPeriod(18000); dataSource.setCheckoutTimeout(3000); dataSource.setTestConnectionOnCheckin(true); dataSource.setAcquireRetryDelay(1000); dataSource.setAcquireRetryAttempts(30); dataSource.setAcquireIncrement(1); dataSource.setMaxIdleTime(25000); // 3.启用默认事务拦截器 return dataSource; }
Example 14
Source File: C3P0DataSource.java From sqlg with MIT License | 5 votes |
public static C3P0DataSource create(final Configuration configuration) throws Exception { Preconditions.checkState(configuration.containsKey(SqlgGraph.JDBC_URL)); Preconditions.checkState(configuration.containsKey("jdbc.username")); Preconditions.checkState(configuration.containsKey("jdbc.password")); String jdbcUrl = configuration.getString(SqlgGraph.JDBC_URL); SqlgPlugin sqlgPlugin = SqlgPlugin.load(jdbcUrl); SqlDialect sqlDialect = sqlgPlugin.instantiateDialect(); String driver = sqlgPlugin.getDriverFor(jdbcUrl); String username = configuration.getString("jdbc.username"); String password = configuration.getString("jdbc.password"); ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource(); comboPooledDataSource.setDriverClass(driver); comboPooledDataSource.setJdbcUrl(jdbcUrl); comboPooledDataSource.setMaxPoolSize(configuration.getInt("maxPoolSize", 100)); comboPooledDataSource.setMaxIdleTime(configuration.getInt("maxIdleTime", 3600)); comboPooledDataSource.setAcquireRetryAttempts(configuration.getInt("jdbc.acquireRetryAttempts", 30)); comboPooledDataSource.setForceUseNamedDriverClass(true); if (!StringUtils.isEmpty(username)) { comboPooledDataSource.setUser(username); } if (!StringUtils.isEmpty(password)) { comboPooledDataSource.setPassword(password); } return new C3P0DataSource(jdbcUrl, comboPooledDataSource, sqlDialect); }
Example 15
Source File: C3P0DataSourceProvider.java From vertx-jdbc-client with Apache License 2.0 | 4 votes |
@Override public DataSource getDataSource(JsonObject config) throws SQLException { String url = config.getString("url"); if (url == null) throw new NullPointerException("url cannot be null"); String driverClass = config.getString("driver_class"); String user = config.getString("user"); String password = config.getString("password"); Integer maxPoolSize = config.getInteger("max_pool_size"); Integer initialPoolSize = config.getInteger("initial_pool_size"); Integer minPoolSize = config.getInteger("min_pool_size"); Integer maxStatements = config.getInteger("max_statements"); Integer maxStatementsPerConnection = config.getInteger("max_statements_per_connection"); Integer maxIdleTime = config.getInteger("max_idle_time"); Integer acquireRetryAttempts = config.getInteger("acquire_retry_attempts"); Integer acquireRetryDelay = config.getInteger("acquire_retry_delay"); Boolean breakAfterAcquireFailure = config.getBoolean("break_after_acquire_failure"); // If you want to configure any other C3P0 properties you can add a file c3p0.properties to the classpath ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setJdbcUrl(url); if (driverClass != null) { try { cpds.setDriverClass(driverClass); } catch (PropertyVetoException e) { throw new IllegalArgumentException(e); } } if (user != null) { cpds.setUser(user); } if (password != null) { cpds.setPassword(password); } if (maxPoolSize != null) { cpds.setMaxPoolSize(maxPoolSize); } if (minPoolSize != null) { cpds.setMinPoolSize(minPoolSize); } if (initialPoolSize != null) { cpds.setInitialPoolSize(initialPoolSize); } if (maxStatements != null) { cpds.setMaxStatements(maxStatements); } if (maxStatementsPerConnection != null) { cpds.setMaxStatementsPerConnection(maxStatementsPerConnection); } if (maxIdleTime != null) { cpds.setMaxIdleTime(maxIdleTime); } if(acquireRetryAttempts != null){ cpds.setAcquireRetryAttempts(acquireRetryAttempts); } if(acquireRetryDelay != null){ cpds.setAcquireRetryDelay(acquireRetryDelay); } if(breakAfterAcquireFailure != null){ cpds.setBreakAfterAcquireFailure(breakAfterAcquireFailure); } return cpds; }
Example 16
Source File: H2Db.java From hortonmachine with GNU General Public License v3.0 | 4 votes |
public boolean open( String dbPath ) throws Exception { this.mDbPath = dbPath; connectionData = new ConnectionData(); connectionData.connectionLabel = dbPath; connectionData.connectionUrl = new String(dbPath); connectionData.user = user; connectionData.password = password; connectionData.dbType = getType().getCode(); boolean dbExists = false; if (dbPath != null) { File dbFile = new File(dbPath + "." + EDb.H2.getExtension()); if (dbFile.exists()) { if (mPrintInfos) Logger.INSTANCE.insertInfo(null, "Database exists"); dbExists = true; } if (dbPath.toLowerCase().startsWith("tcp")) { // no way to check, assume it exists dbExists = true; // also cleanup path int first = dbPath.indexOf('/'); int second = dbPath.indexOf('/', first + 1); int third = dbPath.indexOf('/', second + 1); int lastSlash = dbPath.indexOf('/', third + 1); if (lastSlash != -1) { mDbPath = dbPath.substring(lastSlash, dbPath.length()); } } } else { dbPath = "mem:syntax"; dbExists = false; } String jdbcUrl = EDb.H2.getJdbcPrefix() + dbPath; if (makePooled) { Properties p = new Properties(System.getProperties()); p.put("com.mchange.v2.log.MLog", "com.mchange.v2.log.FallbackMLog"); p.put("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL", "OFF"); System.setProperties(p); comboPooledDataSource = new ComboPooledDataSource(); comboPooledDataSource.setDriverClass(DRIVER_CLASS); comboPooledDataSource.setJdbcUrl(jdbcUrl); if (user != null && password != null) { comboPooledDataSource.setUser(user); comboPooledDataSource.setPassword(password); } comboPooledDataSource.setInitialPoolSize(10); comboPooledDataSource.setMinPoolSize(5); comboPooledDataSource.setAcquireIncrement(5); comboPooledDataSource.setMaxPoolSize(30); comboPooledDataSource.setMaxStatements(100); comboPooledDataSource.setMaxIdleTime(14400); // 4 hours by default // comboPooledDataSource.setCheckoutTimeout(2000); comboPooledDataSource.setAcquireRetryAttempts(1); // comboPooledDataSource.setBreakAfterAcquireFailure(false); // TODO remove after debug // comboPooledDataSource.setUnreturnedConnectionTimeout(180); } else { if (user != null && password != null) { singleJdbcConn = DriverManager.getConnection(jdbcUrl, user, password); } else { singleJdbcConn = DriverManager.getConnection(jdbcUrl); } } if (mPrintInfos) { String[] dbInfo = getDbInfo(); Logger.INSTANCE.insertDebug(null, "H2 Version: " + dbInfo[0] + "(" + dbPath + ")"); } return dbExists; }
Example 17
Source File: DefaultDataSourceManager.java From dhis2-core with BSD 3-Clause "New" or "Revised" License | 4 votes |
private List<DataSource> getReadOnlyDataSources() { String mainUser = config.getProperty( ConfigurationKey.CONNECTION_USERNAME ); String mainPassword = config.getProperty( ConfigurationKey.CONNECTION_PASSWORD ); String driverClass = config.getProperty( CONNECTION_DRIVER_CLASS ); String maxPoolSize = config.getPropertyOrDefault( CONNECTION_POOL_MAX_SIZE, DEFAULT_POOL_SIZE ); Properties props = config.getProperties(); List<DataSource> dataSources = new ArrayList<>(); for ( int i = 1; i <= MAX_READ_REPLICAS; i++ ) { String jdbcUrl = props.getProperty( String.format( FORMAT_CONNECTION_URL, i ) ); String user = props.getProperty( String.format( FORMAT_CONNECTION_USERNAME, i ) ); String password = props.getProperty( String.format( FORMAT_CONNECTION_PASSWORD, i ) ); user = StringUtils.defaultIfEmpty( user, mainUser ); password = StringUtils.defaultIfEmpty( password, mainPassword ); if ( ObjectUtils.allNonNull( jdbcUrl, user, password ) ) { try { ComboPooledDataSource ds = new ComboPooledDataSource(); ds.setDriverClass( driverClass ); ds.setJdbcUrl( jdbcUrl ); ds.setUser( user ); ds.setPassword( password ); ds.setMaxPoolSize( Integer.parseInt( maxPoolSize ) ); ds.setAcquireIncrement( VAL_ACQUIRE_INCREMENT ); ds.setMaxIdleTime( VAL_MAX_IDLE_TIME ); dataSources.add( ds ); log.info( String.format( "Found read replica, index: '%d', connection URL: '%s''", i, jdbcUrl ) ); testConnection( ds ); } catch ( PropertyVetoException ex ) { throw new IllegalArgumentException( "Invalid configuration of read replica: " + jdbcUrl, ex ); } } } log.info( "Read only configuration initialized, read replicas found: " + dataSources.size() ); return dataSources; }
Example 18
Source File: PoolingConnectionProvider.java From lams with GNU General Public License v2.0 | 4 votes |
/** * Create the underlying C3PO ComboPooledDataSource with the * default supported properties. * @throws SchedulerException */ private void initialize( String dbDriver, String dbURL, String dbUser, String dbPassword, int maxConnections, int maxStatementsPerConnection, String dbValidationQuery, boolean validateOnCheckout, int idleValidationSeconds, int maxIdleSeconds) throws SQLException, SchedulerException { if (dbURL == null) { throw new SQLException( "DBPool could not be created: DB URL cannot be null"); } if (dbDriver == null) { throw new SQLException( "DBPool '" + dbURL + "' could not be created: " + "DB driver class name cannot be null!"); } if (maxConnections < 0) { throw new SQLException( "DBPool '" + dbURL + "' could not be created: " + "Max connections must be greater than zero!"); } datasource = new ComboPooledDataSource(); try { datasource.setDriverClass(dbDriver); } catch (PropertyVetoException e) { throw new SchedulerException("Problem setting driver class name on datasource: " + e.getMessage(), e); } datasource.setJdbcUrl(dbURL); datasource.setUser(dbUser); datasource.setPassword(dbPassword); datasource.setMaxPoolSize(maxConnections); datasource.setMinPoolSize(1); datasource.setMaxIdleTime(maxIdleSeconds); datasource.setMaxStatementsPerConnection(maxStatementsPerConnection); if (dbValidationQuery != null) { datasource.setPreferredTestQuery(dbValidationQuery); if(!validateOnCheckout) datasource.setTestConnectionOnCheckin(true); else datasource.setTestConnectionOnCheckout(true); datasource.setIdleConnectionTestPeriod(idleValidationSeconds); } }
Example 19
Source File: L2DatabaseFactory.java From L2jBrasil with GNU General Public License v3.0 | 4 votes |
public L2DatabaseFactory() throws SQLException { try { if (Config.DATABASE_MAX_CONNECTIONS < 2) { Config.DATABASE_MAX_CONNECTIONS = 2; _log.warning("at least " + Config.DATABASE_MAX_CONNECTIONS + " db connections are required."); } _source = new ComboPooledDataSource(); _source.setAutoCommitOnClose(true); _source.setInitialPoolSize(10); _source.setMinPoolSize(10); _source.setMaxPoolSize(Config.DATABASE_MAX_CONNECTIONS); _source.setAcquireRetryAttempts(0); // try to obtain connections indefinitely (0 = never quit) _source.setAcquireRetryDelay(500); // 500 miliseconds wait before try to acquire connection again _source.setCheckoutTimeout(0); // 0 = wait indefinitely for new connection // if pool is exhausted _source.setAcquireIncrement(5); // if pool is exhausted, get 5 more connections at a time // cause there is a "long" delay on acquire connection // so taking more than one connection at once will make connection pooling // more effective. // this "connection_test_table" is automatically created if not already there _source.setAutomaticTestTable("connection_test_table"); _source.setTestConnectionOnCheckin(false); // testing OnCheckin used with IdleConnectionTestPeriod is faster than testing on checkout _source.setIdleConnectionTestPeriod(3600); // test idle connection every 60 sec _source.setMaxIdleTime(0); // 0 = idle connections never expire // *THANKS* to connection testing configured above // but I prefer to disconnect all connections not used // for more than 1 hour // enables statement caching, there is a "semi-bug" in c3p0 0.9.0 but in 0.9.0.2 and later it's fixed _source.setMaxStatementsPerConnection(100); _source.setBreakAfterAcquireFailure(false); // never fail if any way possible // setting this to true will make // c3p0 "crash" and refuse to work // till restart thus making acquire // errors "FATAL" ... we don't want that // it should be possible to recover _source.setDriverClass(Config.DATABASE_DRIVER); _source.setJdbcUrl(Config.DATABASE_URL); _source.setUser(Config.DATABASE_LOGIN); _source.setPassword(Config.DATABASE_PASSWORD); /* Test the connection */ _source.getConnection().close(); if (Config.DEBUG) _log.fine("Database Connection Working"); if (Config.DATABASE_DRIVER.toLowerCase().contains("microsoft")) _providerType = ProviderType.MsSql; else _providerType = ProviderType.MySql; } catch (SQLException x) { if (Config.DEBUG) _log.fine("Database Connection FAILED"); // rethrow the exception throw x; } catch (Exception e) { if (Config.DEBUG) _log.fine("Database Connection FAILED"); throw new SQLException("could not init DB connection:"+e); } }
Example 20
Source File: IdServiceFactoryBean.java From vesta-id-generator with Apache License 2.0 | 4 votes |
private IdService constructDbIdService(String dbUrl, String dbName, String dbUser, String dbPassword) { log.info( "Construct Db IdService dbUrl {} dbName {} dbUser {} dbPassword {}", dbUrl, dbName, dbUser, dbPassword); ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource(); String jdbcDriver = "com.mysql.jdbc.Driver"; try { comboPooledDataSource.setDriverClass(jdbcDriver); } catch (PropertyVetoException e) { log.error("Wrong JDBC driver {}", jdbcDriver); log.error("Wrong JDBC driver error: ", e); throw new IllegalStateException("Wrong JDBC driver ", e); } comboPooledDataSource.setMinPoolSize(5); comboPooledDataSource.setMaxPoolSize(30); comboPooledDataSource.setIdleConnectionTestPeriod(20); comboPooledDataSource.setMaxIdleTime(25); comboPooledDataSource.setBreakAfterAcquireFailure(false); comboPooledDataSource.setCheckoutTimeout(3000); comboPooledDataSource.setAcquireRetryAttempts(50); comboPooledDataSource.setAcquireRetryDelay(1000); String url = String .format("jdbc:mysql://%s/%s?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true", dbUrl, dbName); comboPooledDataSource.setJdbcUrl(url); comboPooledDataSource.setUser(dbUser); comboPooledDataSource.setPassword(dbPassword); JdbcTemplate jdbcTemplate = new JdbcTemplate(); jdbcTemplate.setLazyInit(false); jdbcTemplate.setDataSource(comboPooledDataSource); DbMachineIdProvider dbMachineIdProvider = new DbMachineIdProvider(); dbMachineIdProvider.setJdbcTemplate(jdbcTemplate); dbMachineIdProvider.init(); IdServiceImpl idServiceImpl = new IdServiceImpl(); idServiceImpl.setMachineIdProvider(dbMachineIdProvider); if (genMethod != -1) idServiceImpl.setGenMethod(genMethod); if (type != -1) idServiceImpl.setType(type); if (version != -1) idServiceImpl.setVersion(version); idServiceImpl.init(); return idServiceImpl; }