Java Code Examples for org.apache.commons.dbcp.BasicDataSource#setRemoveAbandonedTimeout()
The following examples show how to use
org.apache.commons.dbcp.BasicDataSource#setRemoveAbandonedTimeout() .
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: JdbcPushDownConnectionManager.java From kylin-on-parquet-v2 with Apache License 2.0 | 6 votes |
private JdbcPushDownConnectionManager(KylinConfig config, String id) throws ClassNotFoundException { dataSource = new BasicDataSource(); Class.forName(config.getJdbcDriverClass(id)); dataSource.setDriverClassName(config.getJdbcDriverClass(id)); dataSource.setUrl(config.getJdbcUrl(id)); dataSource.setUsername(config.getJdbcUsername(id)); dataSource.setPassword(config.getJdbcPassword(id)); dataSource.setMaxActive(config.getPoolMaxTotal(id)); dataSource.setMaxIdle(config.getPoolMaxIdle(id)); dataSource.setMinIdle(config.getPoolMinIdle(id)); // Default settings dataSource.setTestOnBorrow(true); dataSource.setValidationQuery("select 1"); dataSource.setRemoveAbandoned(true); dataSource.setRemoveAbandonedTimeout(300); }
Example 2
Source File: AbstractJdbcAdaptor.java From kylin-on-parquet-v2 with Apache License 2.0 | 6 votes |
/** * Default constructor method. * @param config Basic configuration of JDBC source, such as driver name, URL, username, password. * @throws Exception If datasource cannot be connected. */ protected AbstractJdbcAdaptor(AdaptorConfig config) throws ClassNotFoundException { this.config = config; this.dataSourceDef = DataSourceDefProvider.getInstance().getById(config.datasourceId); dataSource = new BasicDataSource(); Class.forName(config.driver); dataSource.setDriverClassName(config.driver); dataSource.setUrl(config.url); dataSource.setUsername(config.username); dataSource.setPassword(config.password); dataSource.setMaxActive(config.poolMaxTotal); dataSource.setMaxIdle(config.poolMaxIdle); dataSource.setMinIdle(config.poolMinIdle); // Default settings dataSource.setTestOnBorrow(true); dataSource.setValidationQuery(getSourceValidationSql()); dataSource.setRemoveAbandoned(true); dataSource.setRemoveAbandonedTimeout(300); DataSourceDefProvider provider = DataSourceDefProvider.getInstance(); DataSourceDef jdbcDs = provider.getById(getDataSourceId()); configurer = new DefaultConfigurer(this, jdbcDs); }
Example 3
Source File: JdbcDataSourceFactory.java From obevo with Apache License 2.0 | 6 votes |
private static DataSource createFromJdbcUrl(Class<? extends Driver> driverClass, String url, Credential credential, int numThreads, ImmutableList<String> initSqls, Properties extraConnectionProperties) { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(driverClass.getName()); // TODO validate non-null host name, notably for postgresl jdbc url dataSource.setUrl(url); dataSource.setUsername(credential.getUsername()); dataSource.setPassword(credential.getPassword()); // connection pool settings dataSource.setInitialSize(numThreads); dataSource.setMaxActive(numThreads); // keep the connections open if possible; only close them via the removeAbandonedTimeout feature dataSource.setMaxIdle(numThreads); dataSource.setMinIdle(0); dataSource.setRemoveAbandonedTimeout(300); dataSource.setConnectionInitSqls(initSqls.castToList()); if (extraConnectionProperties != null) { for (String key : extraConnectionProperties.stringPropertyNames()) { dataSource.addConnectionProperty(key, extraConnectionProperties.getProperty(key)); } } return dataSource; }
Example 4
Source File: JdbcPushDownConnectionManager.java From kylin with Apache License 2.0 | 6 votes |
private JdbcPushDownConnectionManager(KylinConfig config, String id) throws ClassNotFoundException { dataSource = new BasicDataSource(); Class.forName(config.getJdbcDriverClass(id)); dataSource.setDriverClassName(config.getJdbcDriverClass(id)); dataSource.setUrl(config.getJdbcUrl(id)); dataSource.setUsername(config.getJdbcUsername(id)); dataSource.setPassword(config.getJdbcPassword(id)); dataSource.setMaxActive(config.getPoolMaxTotal(id)); dataSource.setMaxIdle(config.getPoolMaxIdle(id)); dataSource.setMinIdle(config.getPoolMinIdle(id)); // Default settings dataSource.setTestOnBorrow(true); dataSource.setValidationQuery("select 1"); dataSource.setRemoveAbandoned(true); dataSource.setRemoveAbandonedTimeout(300); }
Example 5
Source File: AbstractJdbcAdaptor.java From kylin with Apache License 2.0 | 6 votes |
/** * Default constructor method. * @param config Basic configuration of JDBC source, such as driver name, URL, username, password. * @throws Exception If datasource cannot be connected. */ protected AbstractJdbcAdaptor(AdaptorConfig config) throws ClassNotFoundException { this.config = config; this.dataSourceDef = DataSourceDefProvider.getInstance().getById(config.datasourceId); dataSource = new BasicDataSource(); Class.forName(config.driver); dataSource.setDriverClassName(config.driver); dataSource.setUrl(config.url); dataSource.setUsername(config.username); dataSource.setPassword(config.password); dataSource.setMaxActive(config.poolMaxTotal); dataSource.setMaxIdle(config.poolMaxIdle); dataSource.setMinIdle(config.poolMinIdle); // Default settings dataSource.setTestOnBorrow(true); dataSource.setValidationQuery(getSourceValidationSql()); dataSource.setRemoveAbandoned(true); dataSource.setRemoveAbandonedTimeout(300); DataSourceDefProvider provider = DataSourceDefProvider.getInstance(); DataSourceDef jdbcDs = provider.getById(getDataSourceId()); configurer = new DefaultConfigurer(this, jdbcDs); }
Example 6
Source File: DBCPDataSourceCreater.java From tangyuan2 with GNU General Public License v3.0 | 4 votes |
private BasicDataSource createDataSource(Map<String, String> properties, String urlPattern) { BasicDataSource dsPool = new BasicDataSource(); dsPool.setDriverClassName(DSPropertyUtil.getPropertyStringValue("driver", properties, null, null, true)); dsPool.setUsername(DSPropertyUtil.getPropertyStringValue("username", properties, null, null, true)); dsPool.setPassword(DSPropertyUtil.getPropertyStringValue("password", properties, null, null, true)); String url = DSPropertyUtil.getPropertyStringValue("url", properties, null, null, true); if (null != urlPattern) { url = DSPropertyUtil.replace(url, "{}", urlPattern); } dsPool.setUrl(url); dsPool.setPoolPreparedStatements(DSPropertyUtil.getPropertyBooleanValue("poolingStatements", properties, null, true, true)); // 开启池的prepared // 池功能 dsPool.setRemoveAbandoned(DSPropertyUtil.getPropertyBooleanValue("removeAbandoned", properties, null, true, true)); dsPool.setRemoveAbandonedTimeout(DSPropertyUtil.getPropertyIntegerValue("removeAbandonedTimeout", properties, null, 1000, true)); dsPool.setLogAbandoned(DSPropertyUtil.getPropertyBooleanValue("logAbandoned", properties, null, true, true)); dsPool.setInitialSize(DSPropertyUtil.getPropertyIntegerValue("initialSize", properties, null, 2, true)); dsPool.setMaxActive(DSPropertyUtil.getPropertyIntegerValue("maxActive", properties, null, 8, true)); dsPool.setMaxIdle(DSPropertyUtil.getPropertyIntegerValue("maxIdle", properties, null, 8, true)); dsPool.setMinIdle(DSPropertyUtil.getPropertyIntegerValue("minIdle", properties, null, 0, true)); dsPool.setMaxWait(DSPropertyUtil.getPropertyIntegerValue("maxWait", properties, null, 10000, true)); dsPool.setTimeBetweenEvictionRunsMillis(DSPropertyUtil.getPropertyIntegerValue("timeBetweenEvictionRunsMillis", properties, null, -1, true)); dsPool.setTestOnBorrow(DSPropertyUtil.getPropertyBooleanValue("testOnBorrow", properties, null, false, true)); dsPool.setTestOnReturn(DSPropertyUtil.getPropertyBooleanValue("testOnReturn", properties, null, false, true)); dsPool.setTestWhileIdle(DSPropertyUtil.getPropertyBooleanValue("testWhileIdle", properties, null, false, true)); String validationQuery = DSPropertyUtil.getPropertyStringValue("validationQuery", properties, null, null, false); if (null != validationQuery) { dsPool.setValidationQuery(validationQuery); } int timeout = DSPropertyUtil.getPropertyIntegerValue("", properties, null, -1, false); if (timeout > -1) { dsPool.setValidationQueryTimeout(timeout); } dsPool.setNumTestsPerEvictionRun(DSPropertyUtil.getPropertyIntegerValue("numTestsPerEvictionRun", properties, null, 10, true)); dsPool.setMinEvictableIdleTimeMillis(DSPropertyUtil.getPropertyIntegerValue("minEvictableIdleTimeMillis", properties, null, 60000, true)); // mysql:select 1 // oracle:select 1 from dual // sqlserver:select 1 // jtds:select 1 boolean openTest = DSPropertyUtil.getPropertyBooleanValue("openTest", properties, null, false, false); if (openTest) { try { Connection conn = dsPool.getConnection(); conn.close(); log.info("test open database success."); } catch (Exception e) { throw new DataSourceException("test open database error: " + e.getMessage(), e); } } return dsPool; }
Example 7
Source File: DbcpDataSourcePool.java From Zebra with Apache License 2.0 | 4 votes |
@Override public DataSource build(DataSourceConfig config, boolean withDefaultValue) { BasicDataSource dbcpDataSource = new BasicDataSource(); dbcpDataSource.setUrl(config.getJdbcUrl()); dbcpDataSource.setUsername(config.getUsername()); dbcpDataSource.setPassword(config.getPassword()); dbcpDataSource.setDriverClassName(StringUtils.isNotBlank(config.getDriverClass()) ? config.getDriverClass() : JdbcDriverClassHelper.getDriverClassNameByJdbcUrl(config.getJdbcUrl())); if (withDefaultValue) { dbcpDataSource.setInitialSize(getIntProperty(config, "initialPoolSize", 5)); dbcpDataSource.setMaxActive(getIntProperty(config, "maxPoolSize", 30)); dbcpDataSource.setMinIdle(getIntProperty(config, "minPoolSize", 5)); dbcpDataSource.setMaxIdle(getIntProperty(config, "maxPoolSize", 20)); dbcpDataSource.setMaxWait(getIntProperty(config, "checkoutTimeout", 1000)); dbcpDataSource.setValidationQuery(getStringProperty(config, "preferredTestQuery", "SELECT 1")); dbcpDataSource.setMinEvictableIdleTimeMillis(getIntProperty(config, "minEvictableIdleTimeMillis", 1800000));// 30min dbcpDataSource.setTimeBetweenEvictionRunsMillis(getIntProperty(config, "timeBetweenEvictionRunsMillis", 30000)); // 30s dbcpDataSource.setRemoveAbandonedTimeout(getIntProperty(config, "removeAbandonedTimeout", 300)); // 30s dbcpDataSource.setNumTestsPerEvictionRun(getIntProperty(config, "numTestsPerEvictionRun", 6)); // 30s dbcpDataSource.setValidationQueryTimeout(getIntProperty(config, "validationQueryTimeout", 0)); if (StringUtils.isNotBlank(getStringProperty(config, "connectionInitSql", null))) { List<String> initSqls = new ArrayList<String>(); initSqls.add(getStringProperty(config, "connectionInitSql", null)); dbcpDataSource.setConnectionInitSqls(initSqls); } dbcpDataSource.setTestWhileIdle(true); dbcpDataSource.setTestOnBorrow(false); dbcpDataSource.setTestOnReturn(false); dbcpDataSource.setRemoveAbandoned(true); } else { try { PropertiesInit<BasicDataSource> propertiesInit = new PropertiesInit<BasicDataSource>(dbcpDataSource); propertiesInit.initPoolProperties(config); } catch (Exception e) { throw new ZebraConfigException(String.format("dbcp2 dataSource [%s] created error : ", config.getId()), e); } } this.pool = dbcpDataSource; LOGGER.info(String.format("New dataSource [%s] created.", config.getId())); return this.pool; }