List of usage examples for org.apache.commons.dbcp2 BasicDataSource BasicDataSource
BasicDataSource
From source file:org.donjefe.database.DynamicConnectionPool.java
public static BasicDataSource createDataSource(ConnectionConfig config) { BasicDataSource ds = new BasicDataSource(); ds.setUrl(config.dbUrl);//www.j a v a2 s .co m ds.setUsername(config.dbUser); ds.setPassword(config.dbPassword); ds.setMinIdle(5); ds.setMaxIdle(10); ds.setMaxOpenPreparedStatements(100); return ds; }
From source file:org.ff4j.springboot.FF4jSpringConfig.java
@Bean public FF4j getFF4j() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(jdbcDriverClassName); dataSource.setUrl(jdbcUrl);/*from w w w .ja va2 s . co m*/ dataSource.setUsername(jdbcUser); dataSource.setPassword(jdbcPassword); dataSource.setConnectionProperties("useUnicode=yes;characterEncoding=UTF-8;"); FF4j ff4j = new FF4j(); ff4j.setFeatureStore(new FeatureStoreSpringJdbc(dataSource)); ff4j.setPropertiesStore(new PropertyStoreSpringJdbc(dataSource)); ff4j.audit(false); return ff4j; }
From source file:org.finra.dm.dao.config.DaoEnvTestSpringModuleConfig.java
/** * Get a new DM data source based on an in-memory HSQLDB database. This data source is used for loading the configuration table as an environment property * source as well as for the JPA entity manager. It will therefore create/re-create the configuration table which is required for the former. It also * inserts required values for both scenarios. * * @return the test DM data source./*from w w w . jav a 2 s .co m*/ */ @Bean public static DataSource dmDataSource() { // Create and return a data source that can connect directly to a JDBC URL. BasicDataSource basicDataSource = new BasicDataSource(); basicDataSource.setDriverClassName(org.h2.Driver.class.getName()); basicDataSource.setUsername(""); basicDataSource.setPassword(""); basicDataSource.setUrl("jdbc:h2:mem:dmTestDb"); // Create and populate the configuration table. // This is needed for all data source method calls since it is used to create the environment property source which happens before // JPA and other non-static beans are initialized. ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator(); resourceDatabasePopulator.addScript(new ClassPathResource("createConfigurationTableAndData.sql")); DatabasePopulatorUtils.execute(resourceDatabasePopulator, basicDataSource); // This is what the DataSourceInitializer does. return basicDataSource; }
From source file:org.finra.herd.dao.config.DaoEnvTestSpringModuleConfig.java
/** * Get a new herd data source based on an in-memory HSQLDB database. This data source is used for loading the configuration table as an environment property * source as well as for the JPA entity manager. It will therefore create/re-create the configuration table which is required for the former. It also * inserts required values for both scenarios. * * @return the test herd data source.// ww w . ja v a2 s . com */ @Bean public static DataSource herdDataSource() { // Create and return a data source that can connect directly to a JDBC URL. BasicDataSource basicDataSource = new BasicDataSource(); basicDataSource.setDriverClassName(org.h2.Driver.class.getName()); basicDataSource.setUsername(""); basicDataSource.setPassword(""); basicDataSource.setUrl("jdbc:h2:mem:herdTestDb"); // Create and populate the configuration table. // This is needed for all data source method calls since it is used to create the environment property source which happens before // JPA and other non-static beans are initialized. ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator(); resourceDatabasePopulator.addScript(new ClassPathResource("createConfigurationTableAndData.sql")); DatabasePopulatorUtils.execute(resourceDatabasePopulator, basicDataSource); // This is what the DataSourceInitializer does. return basicDataSource; }
From source file:org.georchestra.urbanisme.RenseignUrbaBackend.java
/** * Create a new instance of RenseignUrbaBackend and crate a BasicDataSource configured with jdbc URL * * @param table name of table containing renseignement d'urbanisme (libelles) * @param tableTheme name of table containing theme description * @param ordreTheme theme codes order// www.j ava 2 s. c om * @param jdbcUrl jdbc URL used to connect to database. Example : jdbc:postgresql://localhost:5432/georchestra?user=www-data&password=www-data */ public RenseignUrbaBackend(final String driverClassName, final String table, final String tableTheme, final String ordreTheme, final String jdbcUrl) { this.table = table; this.tableTheme = tableTheme; this.ordreTheme = ordreTheme; this.jdbcUrl = jdbcUrl; this.basicDataSource = new BasicDataSource(); this.basicDataSource.setDriverClassName(driverClassName); this.basicDataSource.setTestOnBorrow(true); this.basicDataSource.setPoolPreparedStatements(true); this.basicDataSource.setMaxOpenPreparedStatements(-1); this.basicDataSource.setDefaultReadOnly(true); this.basicDataSource.setDefaultAutoCommit(true); this.basicDataSource.setUrl(this.jdbcUrl); }
From source file:org.lib4j.dbcp.DataSources.java
/** * Create a <code>BasicDataSource</code> given a dbcp JAXB binding. * * @param dbcp JAXB dbcp binding.// ww w. j av a 2 s .c om * @param driverClassLoader Class loader to be used to load the JDBC driver. * @return the <code>BasicDataSource</code> instance. * @throws SQLException If a database access error occurs. */ public static BasicDataSource createDataSource(final Dbcp dbcp, final ClassLoader driverClassLoader) throws SQLException { final BasicDataSource dataSource = new BasicDataSource(); final Dbcp.Jdbc jdbc = dbcp.getJdbc(); dataSource.setDriverClassName(jdbc.getDriverClassName()); dataSource.setDriverClassLoader(driverClassLoader); dataSource.setUrl(jdbc.getUrl()); dataSource.setUsername(jdbc.getUsername()); dataSource.setPassword(jdbc.getPassword()); final Dbcp.Default _default = dbcp.getDefault(); if (_default != null && _default.getCatalog() != null) dataSource.setDefaultCatalog(_default.getCatalog()); dataSource.setDefaultAutoCommit( _default == null || _default.getAutoCommit() == null || _default.getAutoCommit()); dataSource.setDefaultReadOnly(_default != null && _default.getReadOnly() != null && _default.getReadOnly()); if (_default != null && _default.getQueryTimeout() != null) dataSource.setDefaultQueryTimeout(_default.getQueryTimeout()); if (_default != null && _default.getTransactionIsolation() != null) { if ("NONE".equals(_default.getTransactionIsolation())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_NONE); else if ("READ_COMMITTED".equals(_default.getTransactionIsolation())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); else if ("READ_UNCOMMITTED".equals(_default.getTransactionIsolation())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED); else if ("REPEATABLE_READ".equals(_default.getTransactionIsolation())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ); else if ("SERIALIZABLE".equals(_default.getTransactionIsolation())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE); else throw new UnsupportedOperationException( "Unsupported transaction isolation: " + _default.getTransactionIsolation()); } final Dbcp.Connection connection = dbcp.getConnection(); if (connection != null) { if (connection.getProperties() != null) for (final Dbcp.Connection.Properties.Property property : connection.getProperties().getProperty()) if (property.getName() != null && property.getValue() != null) dataSource.addConnectionProperty(property.getName(), property.getValue()); if (connection.getInitSqls() != null) { final List<String> initSqls = new ArrayList<>(); for (final String initSql : connection.getInitSqls().getInitSql()) initSqls.add(initSql); dataSource.setConnectionInitSqls(initSqls); } } final Dbcp.Size size = dbcp.getSize(); dataSource.setInitialSize(size == null || size.getInitialSize() == null ? 0 : size.getInitialSize()); dataSource.setMaxTotal(size == null || size.getMaxTotal() == null ? 8 : INDEFINITE.equals(size.getMaxTotal()) ? -1 : Integer.parseInt(size.getMaxTotal())); dataSource.setMaxIdle(size == null || size.getMaxIdle() == null ? 8 : INDEFINITE.equals(size.getMaxIdle()) ? -1 : Integer.parseInt(size.getMaxIdle())); dataSource.setMinIdle(size == null || size.getMinIdle() == null ? 9 : size.getMinIdle()); if (size == null || size.getMaxOpenPreparedStatements() == null || INDEFINITE.equals(size.getMaxOpenPreparedStatements())) { dataSource.setPoolPreparedStatements(false); } else { dataSource.setPoolPreparedStatements(true); dataSource.setMaxOpenPreparedStatements(Integer.parseInt(size.getMaxOpenPreparedStatements())); } final Dbcp.Pool pool = dbcp.getPool(); if (pool == null || pool.getQueue() == null || "lifo".equals(pool.getQueue())) dataSource.setLifo(true); else if ("fifo".equals(pool.getQueue())) dataSource.setLifo(false); else throw new UnsupportedOperationException("Unsupported queue spec: " + pool.getQueue()); dataSource.setCacheState(pool != null && pool.getCacheState() != null && pool.getCacheState()); dataSource.setMaxWaitMillis( pool == null || pool.getMaxWait() != null || INDEFINITE.equals(pool.getMaxWait()) ? -1 : Long.parseLong(pool.getMaxWait())); dataSource.setMaxConnLifetimeMillis(pool == null || pool.getMaxConnectionLifetime() == null || INDEFINITE.equals(pool.getMaxConnectionLifetime()) ? 0 : Long.parseLong(pool.getMaxConnectionLifetime())); dataSource.setEnableAutoCommitOnReturn(_default == null || pool.getEnableAutoCommitOnReturn() == null || pool.getEnableAutoCommitOnReturn()); dataSource.setRollbackOnReturn( pool == null || pool.getRollbackOnReturn() == null || pool.getRollbackOnReturn()); if (pool != null && pool.getRemoveAbandoned() != null) { if ("borrow".equals(pool.getRemoveAbandoned().getOn())) dataSource.setRemoveAbandonedOnBorrow(true); else if ("maintenance".equals(pool.getRemoveAbandoned().getOn())) dataSource.setRemoveAbandonedOnMaintenance(true); else throw new UnsupportedOperationException( "Unsupported remove abandoned spec: " + pool.getRemoveAbandoned().getOn()); dataSource.setRemoveAbandonedTimeout(pool.getRemoveAbandoned().getTimeout()); } dataSource.setAbandonedUsageTracking( pool != null && pool.getAbandonedUsageTracking() != null && pool.getAbandonedUsageTracking()); dataSource.setAccessToUnderlyingConnectionAllowed( pool != null && pool.getAllowAccessToUnderlyingConnection() != null && pool.getAllowAccessToUnderlyingConnection()); final Dbcp.Pool.Eviction evictor = pool != null && pool.getEviction() != null ? pool.getEviction() : null; if (evictor != null) { dataSource.setTimeBetweenEvictionRunsMillis(evictor.getTimeBetweenRuns()); dataSource.setNumTestsPerEvictionRun(evictor.getNumTestsPerRun()); dataSource.setMinEvictableIdleTimeMillis( evictor.getMinIdleTime() == null ? 1800000 : evictor.getMinIdleTime()); dataSource.setSoftMinEvictableIdleTimeMillis( evictor.getSoftMinIdleTime() == null || INDEFINITE.equals(evictor.getSoftMinIdleTime()) ? -1 : Long.parseLong(evictor.getSoftMinIdleTime())); if (evictor.getPolicyClassName() != null) dataSource.setEvictionPolicyClassName(evictor.getPolicyClassName()); } final Dbcp.Validation validation = dbcp.getValidation(); if (validation != null && validation.getQuery() != null) dataSource.setValidationQuery(validation.getQuery()); dataSource.setTestOnBorrow( validation == null || validation.getTestOnBorrow() == null || validation.getTestOnBorrow()); dataSource.setTestOnReturn( validation != null && validation.getTestOnReturn() != null && validation.getTestOnReturn()); dataSource.setTestWhileIdle( validation != null && validation.getTestWhileIdle() != null && validation.getTestWhileIdle()); if (validation != null && validation.getFastFail() != null) { dataSource.setFastFailValidation(true); if (validation.getFastFail().getDisconnectionSqlCodes() != null) dataSource.setDisconnectionSqlCodes( Arrays.asList(validation.getFastFail().getDisconnectionSqlCodes().split(" "))); } final Dbcp.Logging logging = dbcp.getLogging(); if (logging != null) { final Logger logger = LoggerFactory.getLogger(DataSources.class); final LoggerPrintWriter loggerPrintWriter = new LoggerPrintWriter(logger, Level.valueOf(logging.getLevel().toString())); dataSource.setLogWriter(loggerPrintWriter); dataSource.setLogExpiredConnections(logging.isLogExpiredConnections()); if (logging.isLogAbandoned()) { dataSource.setAbandonedLogWriter(loggerPrintWriter); dataSource.setLogAbandoned(true); } } return dataSource; }
From source file:org.libx4j.dbcp.DataSources.java
public static BasicDataSource createDataSource(final $dbcp_dbcp dbcp) throws SQLException { if (dbcp.isNull()) throw new BindingRuntimeException("/dbcp:jdbc is missing"); final dbcp_dbcp._jdbc jdbc = dbcp._jdbc(0); final BasicDataSource dataSource = new BasicDataSource() { @Override/*from w w w. j a v a 2 s.com*/ public Connection getConnection() throws SQLException { // try { return super.getConnection(); // } // catch (final SQLException e) { // // TODO: Finish this! // if ("Cannot get a connection, pool error Timeout waiting for idle object".equals(e.getMessage())) // Throwables.set(e, "XX" + e.getMessage()); // // throw e; // } } }; if (jdbc._driverClassName(0).isNull()) throw new BindingRuntimeException("/dbcp:jdbc/dbcp:driverClassName is missing"); dataSource.setDriverClassName(jdbc._driverClassName(0).text()); // if (jdbc._loginTimeout() != null && jdbc._loginTimeout().size() != 0 && jdbc._loginTimeout(0).text() != null) { // FIXME: This causes a ClassNotFoundException: com.sybase.jdbc3.jdbc.SybDriver // try { // dataSource.setLoginTimeout(jdbc._loginTimeout(0).text()); // } // catch(final SQLException e) { // throw new SQLException(e); // } // } if (jdbc._url(0).isNull()) throw new BindingRuntimeException("/dbcp:jdbc/dbcp:url is missing"); dataSource.setUrl(jdbc._url(0).text()); if (jdbc._username(0).isNull()) throw new BindingRuntimeException("/dbcp:jdbc/dbcp:username is missing"); dataSource.setUsername(jdbc._username(0).text()); if (jdbc._password(0).isNull()) throw new BindingRuntimeException("/dbcp:jdbc/dbcp:password is missing"); dataSource.setPassword(jdbc._password(0).text()); final dbcp_dbcp._default defaults = dbcp._default(0); if (!defaults._connectionProperties(0).isNull()) for (final dbcp_dbcp._default._connectionProperties._property property : defaults ._connectionProperties(0)._property()) if (property._name$() != null && property._name$().text() != null && property._value$() != null && property._value$().text() != null) dataSource.addConnectionProperty(property._name$().text(), property._value$().text()); if (!defaults._autoCommit(0).isNull()) dataSource.setDefaultAutoCommit(defaults._autoCommit(0).text()); if (!defaults._readOnly(0).isNull()) dataSource.setDefaultReadOnly(defaults._readOnly(0).text()); if (!defaults._transactionIsolation(0).isNull()) { if (dbcp_dbcp._default._transactionIsolation.NONE.text() .equals(defaults._transactionIsolation(0).text())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_NONE); else if (dbcp_dbcp._default._transactionIsolation.READ_5FCOMMITTED.text() .equals(defaults._transactionIsolation(0).text())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); else if (dbcp_dbcp._default._transactionIsolation.READ_5FUNCOMMITTED.text() .equals(defaults._transactionIsolation(0).text())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED); else if (dbcp_dbcp._default._transactionIsolation.REPEATABLE_5FREAD.text() .equals(defaults._transactionIsolation(0).text())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ); else if (dbcp_dbcp._default._transactionIsolation.SERIALIZABLE.text() .equals(defaults._transactionIsolation(0).text())) dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE); else throw new UnsupportedOperationException( "Unsupported transaction isolation: " + defaults._transactionIsolation(0).text()); } final dbcp_dbcp._size size = dbcp._size(0); if (!size.isNull()) { if (!size._initialSize(0).isNull()) dataSource.setInitialSize(size._initialSize(0).text().intValue()); if (!size._maxActive(0).isNull()) dataSource.setMaxTotal(size._maxActive(0).text().intValue()); if (!size._maxIdle(0).isNull()) dataSource.setMaxIdle(size._maxIdle(0).text().intValue()); if (!size._minIdle(0).isNull()) dataSource.setMinIdle(size._minIdle(0).text().intValue()); if (!size._maxWait(0).isNull()) dataSource.setMaxWaitMillis(size._maxWait(0).text().intValue()); } final dbcp_dbcp._management management = dbcp._management(0); if (!management.isNull()) { if (!management._validationQuery(0).isNull()) dataSource.setValidationQuery(management._validationQuery(0).text()); if (!management._testOnBorrow(0).isNull()) dataSource.setTestOnBorrow(management._testOnBorrow(0).text()); if (!management._testOnReturn(0).isNull()) dataSource.setTestOnReturn(management._testOnReturn(0).text()); if (!management._testWhileIdle(0).isNull()) dataSource.setTestWhileIdle(management._testWhileIdle(0).text()); if (!management._timeBetweenEvictionRuns(0).isNull()) dataSource .setTimeBetweenEvictionRunsMillis(management._timeBetweenEvictionRuns(0).text().intValue()); if (!management._numTestsPerEvictionRun(0).isNull()) dataSource.setNumTestsPerEvictionRun(management._numTestsPerEvictionRun(0).text().intValue()); if (!management._minEvictableIdleTime(0).isNull()) dataSource.setMinEvictableIdleTimeMillis(management._minEvictableIdleTime(0).text().intValue()); } final dbcp_dbcp._preparedStatements preparedStatements = dbcp._preparedStatements(0); if (!preparedStatements.isNull()) { if (!preparedStatements._poolPreparedStatements(0).isNull()) dataSource.setPoolPreparedStatements(preparedStatements._poolPreparedStatements(0).text()); if (!preparedStatements._maxOpenPreparedStatements(0).isNull()) dataSource.setMaxOpenPreparedStatements( preparedStatements._maxOpenPreparedStatements(0).text().intValue()); } final dbcp_dbcp._removal removal = dbcp._removal(0); if (!removal.isNull()) { if (!removal._removeAbandoned(0).isNull()) dataSource.setRemoveAbandonedOnBorrow(removal._removeAbandoned(0).text()); if (!removal._removeAbandonedTimeout(0).isNull()) dataSource.setRemoveAbandonedTimeout(removal._removeAbandonedTimeout(0).text().intValue()); if (!removal._logAbandoned(0).isNull()) dataSource.setLogAbandoned(removal._logAbandoned(0).text()); } final dbcp_dbcp._logging logging = dbcp._logging(0); if (!logging.isNull()) { final Logger logger = LoggerFactory.getLogger(DataSources.class); final LoggerPrintWriter loggerPrintWriter = new LoggerPrintWriter(logger, Level.valueOf(logging._level(0).text())); dataSource.setLogWriter(loggerPrintWriter); dataSource.setLogExpiredConnections( !logging._logExpiredConnections(0).isNull() && logging._logExpiredConnections(0).text()); if (!logging._logAbandoned(0).isNull() && logging._logAbandoned(0).text()) { dataSource.setAbandonedLogWriter(loggerPrintWriter); dataSource.setLogAbandoned(true); } } return dataSource; }
From source file:org.mingle.pear.config.DataAccessJpaConfig.java
@Bean public DataSource dataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(propDatabase.getDriverClassName()); dataSource.setUrl(propDatabase.getUrl()); dataSource.setUsername(propDatabase.getUsername()); dataSource.setPassword(propDatabase.getPassword()); dataSource.setInitialSize(5);/*w ww .j av a 2 s. c om*/ dataSource.setTestOnBorrow(true); dataSource.setTestOnReturn(true); dataSource.setTestWhileIdle(true); dataSource.setTimeBetweenEvictionRunsMillis(1800000L); dataSource.setNumTestsPerEvictionRun(3); dataSource.setMinEvictableIdleTimeMillis(1800000L); return dataSource; }
From source file:org.mot.common.db.DatabaseConnectionFactory.java
private DatabaseConnectionFactory() { logger.debug("Creating new Database Connection Factory ..."); PropertiesFactory pf = PropertiesFactory.getInstance(); String pathToConfigDir = pf.getConfigDir(); try {//from www.j a v a 2s .co m config = new PropertiesConfiguration(pathToConfigDir + "/database.properties"); // Set the user name and password. String userName = config.getString("database.username"); String password = config.getString("database.password"); int minidle = config.getInt("database.connection.min", 3); int maxIdle = config.getInt("database.connection.maxIdle", 40); int max = config.getInt("database.connection.max", 50); int evictor = config.getInt("database.connection.evictor.millis", 500); int timeout = config.getInt("database.connection.timeout", 120); Boolean autoCommit = config.getBoolean("database.connection.autoCommit", true); String url = config.getString("database.url"); databaseProperties = config.getBoolean("database.configuration.enabled", false); ds = new BasicDataSource(); ds.setDriverClassName(config.getString("database.driver")); ds.setUsername(userName); ds.setPassword(password); ds.setUrl(url); ds.setDefaultQueryTimeout(timeout); //ds.setEnableAutoCommitOnReturn(true); ds.setMinIdle(minidle); ds.setMaxIdle(maxIdle); ds.setTimeBetweenEvictionRunsMillis(evictor); ds.setMaxTotal(max); //ds.setTimeBetweenEvictionRunsMillis(500); ds.setDefaultAutoCommit(autoCommit); //ds.setMaxWaitMillis(2000); // conn = ds.getConnection(); } catch (ConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:org.my.spring.batch.java.config.demo.configuration.BatchConfiguration.java
private DataSource getDataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(environment.getProperty("batch.jdbc.driver")); dataSource.setUrl(environment.getProperty("batch.jdbc.url")); dataSource.setUsername(environment.getProperty("batch.jdbc.user")); dataSource.setPassword(environment.getProperty("batch.jdbc.password")); return dataSource; }