Example usage for org.apache.commons.dbcp BasicDataSource isPoolPreparedStatements

List of usage examples for org.apache.commons.dbcp BasicDataSource isPoolPreparedStatements

Introduction

In this page you can find the example usage for org.apache.commons.dbcp BasicDataSource isPoolPreparedStatements.

Prototype

public synchronized boolean isPoolPreparedStatements() 

Source Link

Document

Returns true if we are pooling statements.

Usage

From source file:com.taobao.diamond.server.service.DefaultPersistService.java

public void initDataSource(DataSource dataSource) {
    System.out.println("#initDataSource");
    if (dataSource == null) {
        System.out.println("dataSource is null.");
    }//from  ww  w.  j  a v a 2s .c  o  m
    String mode = System.getProperty("diamond.server.mode");
    System.out.println("-Ddiamond.server.mode:" + mode);
    String[] attrNames = new String[] { "offline", "flying", "lostDB", "xx" };
    for (String key : attrNames) {
        if (key.equals(mode)) {
            SystemConfig.setOffline();
        }
    }
    int timeout = 3;// seconds
    boolean dsValid = false;
    Connection conn = null;
    if (dataSource != null)
        try {
            BasicDataSource bds = (BasicDataSource) dataSource;
            bds.isPoolPreparedStatements();
            conn = dataSource.getConnection();

            Statement stmt = conn.createStatement();
            stmt.setQueryTimeout(timeout);
            dsValid = true;
            try {
                ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM config_info");
                if (rs.next()) {
                    rs.getInt(1);
                } else {
                    dsValid = false;
                }
                rs = stmt.executeQuery("select count(*) from group_info");
                if (rs.next()) {
                    rs.getInt(1);
                } else {
                    dsValid = false;
                }
            } catch (Exception e) {
                dsValid = false;
            }

        } catch (Throwable t) {
            log.error(t.getMessage(), t.getCause());
        }

    if (dsValid == false) {
        // 
        if (SystemConfig.isOnlineMode()) {
            System.out.println("#########################################################");
            System.out.println("DataSource .");
            System.out.println("error occured in DataSource initilizing,connection timeout or refuse conn.");
            System.out.println("#########################################################");
            SystemConfig.system_pause();
            System.exit(0);
        }
        // 
        if (SystemConfig.isOfflineMode()) {
            String msg = "#########################################################";
            System.out.println(msg);
            log.info(msg);
            OfflinePersistService ps = new OfflinePersistService();
            persistService = ps;

        }
    } else {
        DBPersistService ps = new DBPersistService();
        ps.setDataSource(dataSource);
        persistService = ps;
    }
    System.out.println("#########################################################");
    System.out.println("Current Persist Service");
    System.out.println("persistService:" + persistService);
    System.out.println("DBPersistService:" + (persistService instanceof DBPersistService));
    System.out.println("OfflinePersistService:" + (persistService instanceof OfflinePersistService));
    System.out.println("#########################################################");
}

From source file:org.alfresco.repo.tenant.TenantBasicDataSource.java

public TenantBasicDataSource(BasicDataSource bds, String tenantUrl, int tenantMaxActive) throws SQLException {
    // tenant-specific
    this.setUrl(tenantUrl);
    this.setMaxActive(tenantMaxActive == -1 ? bds.getMaxActive() : tenantMaxActive);

    // defaults/overrides - see also 'baseDefaultDataSource' (core-services-context.xml + repository.properties)

    this.setDriverClassName(bds.getDriverClassName());
    this.setUsername(bds.getUsername());
    this.setPassword(bds.getPassword());

    this.setInitialSize(bds.getInitialSize());
    this.setMinIdle(bds.getMinIdle());
    this.setMaxIdle(bds.getMaxIdle());
    this.setDefaultAutoCommit(bds.getDefaultAutoCommit());
    this.setDefaultTransactionIsolation(bds.getDefaultTransactionIsolation());
    this.setMaxWait(bds.getMaxWait());
    this.setValidationQuery(bds.getValidationQuery());
    this.setTimeBetweenEvictionRunsMillis(bds.getTimeBetweenEvictionRunsMillis());
    this.setMinEvictableIdleTimeMillis(bds.getMinEvictableIdleTimeMillis());
    this.setNumTestsPerEvictionRun(bds.getNumTestsPerEvictionRun());
    this.setTestOnBorrow(bds.getTestOnBorrow());
    this.setTestOnReturn(bds.getTestOnReturn());
    this.setTestWhileIdle(bds.getTestWhileIdle());
    this.setRemoveAbandoned(bds.getRemoveAbandoned());
    this.setRemoveAbandonedTimeout(bds.getRemoveAbandonedTimeout());
    this.setPoolPreparedStatements(bds.isPoolPreparedStatements());
    this.setMaxOpenPreparedStatements(bds.getMaxOpenPreparedStatements());
    this.setLogAbandoned(bds.getLogAbandoned());
}

From source file:org.apache.jackrabbit.core.util.db.ConnectionFactoryTest.java

private void assertPoolDefaults(BasicDataSource ds, String validationQuery, int maxCons) {
    assertEquals(maxCons, ds.getMaxActive());
    assertEquals(validationQuery, ds.getValidationQuery());
    assertTrue(ds.getDefaultAutoCommit());
    assertFalse(ds.getTestOnBorrow());/* w ww  .  j  av a  2 s  .c  o  m*/
    assertTrue(ds.getTestWhileIdle());
    assertEquals(600000, ds.getTimeBetweenEvictionRunsMillis());
    assertTrue(ds.isPoolPreparedStatements());
    assertEquals(-1, ds.getMaxOpenPreparedStatements());
}

From source file:org.mybatis.guice.datasource.dbcp.BasicDataSourceProviderTest.java

@Test
public void get() throws Throwable {
    final String driver = "org.mybatis.guice.TestDriver";
    final String url = "jdbc:h2:mem:testdb";
    final String username = "test_user";
    final String password = "test_password";
    final boolean autoCommit = true;
    final Properties driverProperties = new Properties();
    driverProperties.put("my_property", "true");
    final boolean accessToUnderlyingConnectionAllowed = true;
    final String defaultCatalog = "test_catalog";
    final boolean defaultReadOnly = true;
    final int defaultTransactionIsolation = 20;
    final int initialSize = 30;
    final int maxActive = 40;
    final int maxIdle = 50;
    final int maxOpenPreparedStatements = 60;
    final long maxWait = 70;
    final int minIdle = 80;
    final int numTestsPerEvictionRun = 90;
    final boolean poolPreparedStatements = true;
    final boolean testOnBorrow = true;
    final boolean testOnReturn = true;
    final boolean testWhileIdle = true;
    final int timeBetweenEvictionRunsMillis = 100;
    final String validationQuery = "SELECT 1";
    Injector injector = Guice.createInjector(new AbstractModule() {
        @Override/* w w  w  . jav a  2 s  .com*/
        protected void configure() {
            bind(ClassLoader.class).annotatedWith(Names.named("JDBC.driverClassLoader"))
                    .toInstance(driverClassLoader);
            bindConstant().annotatedWith(Names.named("JDBC.driver")).to(driver);
            bindConstant().annotatedWith(Names.named("JDBC.url")).to(url);
            bindConstant().annotatedWith(Names.named("JDBC.username")).to(username);
            bindConstant().annotatedWith(Names.named("JDBC.password")).to(password);
            bindConstant().annotatedWith(Names.named("JDBC.autoCommit")).to(autoCommit);
            bind(Properties.class).annotatedWith(Names.named("JDBC.driverProperties"))
                    .toInstance(driverProperties);
            bindConstant().annotatedWith(Names.named("DBCP.accessToUnderlyingConnectionAllowed"))
                    .to(accessToUnderlyingConnectionAllowed);
            bindConstant().annotatedWith(Names.named("DBCP.defaultCatalog")).to(defaultCatalog);
            bindConstant().annotatedWith(Names.named("DBCP.defaultReadOnly")).to(defaultReadOnly);
            bindConstant().annotatedWith(Names.named("DBCP.defaultTransactionIsolation"))
                    .to(defaultTransactionIsolation);
            bindConstant().annotatedWith(Names.named("DBCP.initialSize")).to(initialSize);
            bindConstant().annotatedWith(Names.named("DBCP.maxActive")).to(maxActive);
            bindConstant().annotatedWith(Names.named("DBCP.maxIdle")).to(maxIdle);
            bindConstant().annotatedWith(Names.named("DBCP.maxOpenPreparedStatements"))
                    .to(maxOpenPreparedStatements);
            bindConstant().annotatedWith(Names.named("DBCP.maxWait")).to(maxWait);
            bindConstant().annotatedWith(Names.named("DBCP.minIdle")).to(minIdle);
            bindConstant().annotatedWith(Names.named("DBCP.numTestsPerEvictionRun")).to(numTestsPerEvictionRun);
            bindConstant().annotatedWith(Names.named("DBCP.poolPreparedStatements")).to(poolPreparedStatements);
            bindConstant().annotatedWith(Names.named("DBCP.testOnBorrow")).to(testOnBorrow);
            bindConstant().annotatedWith(Names.named("DBCP.testOnReturn")).to(testOnReturn);
            bindConstant().annotatedWith(Names.named("DBCP.testWhileIdle")).to(testWhileIdle);
            bindConstant().annotatedWith(Names.named("DBCP.timeBetweenEvictionRunsMillis"))
                    .to(timeBetweenEvictionRunsMillis);
            bindConstant().annotatedWith(Names.named("DBCP.validationQuery")).to(validationQuery);
        }
    });
    BasicDataSourceProvider provider = injector.getInstance(BasicDataSourceProvider.class);

    BasicDataSource dataSource = (BasicDataSource) provider.get();

    assertEquals(driverClassLoader, dataSource.getDriverClassLoader());
    assertEquals(driver, dataSource.getDriverClassName());
    assertEquals(url, dataSource.getUrl());
    assertEquals(username, dataSource.getUsername());
    assertEquals(password, dataSource.getPassword());
    assertEquals(autoCommit, dataSource.getDefaultAutoCommit());
    // Cannot test driver properties.
    assertEquals(accessToUnderlyingConnectionAllowed, dataSource.isAccessToUnderlyingConnectionAllowed());
    assertEquals(defaultCatalog, dataSource.getDefaultCatalog());
    assertEquals(defaultReadOnly, dataSource.getDefaultReadOnly());
    assertEquals(defaultTransactionIsolation, dataSource.getDefaultTransactionIsolation());
    assertEquals(initialSize, dataSource.getInitialSize());
    assertEquals(maxActive, dataSource.getMaxActive());
    assertEquals(maxIdle, dataSource.getMaxIdle());
    assertEquals(maxOpenPreparedStatements, dataSource.getMaxOpenPreparedStatements());
    assertEquals(maxWait, dataSource.getMaxWait());
    assertEquals(minIdle, dataSource.getMinIdle());
    assertEquals(numTestsPerEvictionRun, dataSource.getNumTestsPerEvictionRun());
    assertEquals(poolPreparedStatements, dataSource.isPoolPreparedStatements());
    assertEquals(testOnBorrow, dataSource.getTestOnBorrow());
    assertEquals(testOnReturn, dataSource.getTestOnReturn());
    assertEquals(testWhileIdle, dataSource.getTestWhileIdle());
    assertEquals(timeBetweenEvictionRunsMillis, dataSource.getTimeBetweenEvictionRunsMillis());
    assertEquals(validationQuery, dataSource.getValidationQuery());
}

From source file:org.mybatis.guice.datasource.dbcp.BasicDataSourceProviderTest.java

@Test
public void get_OtherValues() throws Throwable {
    final String driver = "org.mybatis.guice.TestDriver2";
    final String url = "jdbc:h2:mem:testdb2";
    final String username = "test_user2";
    final String password = "test_password2";
    final boolean autoCommit = false;
    final Properties driverProperties = new Properties();
    driverProperties.put("my_property", "false");
    final boolean accessToUnderlyingConnectionAllowed = false;
    final String defaultCatalog = "test_catalog2";
    final boolean defaultReadOnly = false;
    final int defaultTransactionIsolation = 21;
    final int initialSize = 31;
    final int maxActive = 41;
    final int maxIdle = 51;
    final int maxOpenPreparedStatements = 61;
    final long maxWait = 71;
    final int minIdle = 81;
    final int numTestsPerEvictionRun = 91;
    final boolean poolPreparedStatements = false;
    final boolean testOnBorrow = false;
    final boolean testOnReturn = false;
    final boolean testWhileIdle = false;
    final int timeBetweenEvictionRunsMillis = 101;
    final String validationQuery = "SELECT 2";
    Injector injector = Guice.createInjector(new AbstractModule() {
        @Override/* w  w w  . j  a v  a 2  s . c o m*/
        protected void configure() {
            bind(ClassLoader.class).annotatedWith(Names.named("JDBC.driverClassLoader"))
                    .toInstance(driverClassLoader);
            bindConstant().annotatedWith(Names.named("JDBC.driver")).to(driver);
            bindConstant().annotatedWith(Names.named("JDBC.url")).to(url);
            bindConstant().annotatedWith(Names.named("JDBC.username")).to(username);
            bindConstant().annotatedWith(Names.named("JDBC.password")).to(password);
            bindConstant().annotatedWith(Names.named("JDBC.autoCommit")).to(autoCommit);
            bind(Properties.class).annotatedWith(Names.named("JDBC.driverProperties"))
                    .toInstance(driverProperties);
            bindConstant().annotatedWith(Names.named("DBCP.accessToUnderlyingConnectionAllowed"))
                    .to(accessToUnderlyingConnectionAllowed);
            bindConstant().annotatedWith(Names.named("DBCP.defaultCatalog")).to(defaultCatalog);
            bindConstant().annotatedWith(Names.named("DBCP.defaultReadOnly")).to(defaultReadOnly);
            bindConstant().annotatedWith(Names.named("DBCP.defaultTransactionIsolation"))
                    .to(defaultTransactionIsolation);
            bindConstant().annotatedWith(Names.named("DBCP.initialSize")).to(initialSize);
            bindConstant().annotatedWith(Names.named("DBCP.maxActive")).to(maxActive);
            bindConstant().annotatedWith(Names.named("DBCP.maxIdle")).to(maxIdle);
            bindConstant().annotatedWith(Names.named("DBCP.maxOpenPreparedStatements"))
                    .to(maxOpenPreparedStatements);
            bindConstant().annotatedWith(Names.named("DBCP.maxWait")).to(maxWait);
            bindConstant().annotatedWith(Names.named("DBCP.minIdle")).to(minIdle);
            bindConstant().annotatedWith(Names.named("DBCP.numTestsPerEvictionRun")).to(numTestsPerEvictionRun);
            bindConstant().annotatedWith(Names.named("DBCP.poolPreparedStatements")).to(poolPreparedStatements);
            bindConstant().annotatedWith(Names.named("DBCP.testOnBorrow")).to(testOnBorrow);
            bindConstant().annotatedWith(Names.named("DBCP.testOnReturn")).to(testOnReturn);
            bindConstant().annotatedWith(Names.named("DBCP.testWhileIdle")).to(testWhileIdle);
            bindConstant().annotatedWith(Names.named("DBCP.timeBetweenEvictionRunsMillis"))
                    .to(timeBetweenEvictionRunsMillis);
            bindConstant().annotatedWith(Names.named("DBCP.validationQuery")).to(validationQuery);
        }
    });
    BasicDataSourceProvider provider = injector.getInstance(BasicDataSourceProvider.class);

    BasicDataSource dataSource = (BasicDataSource) provider.get();

    assertEquals(driverClassLoader, dataSource.getDriverClassLoader());
    assertEquals(driver, dataSource.getDriverClassName());
    assertEquals(url, dataSource.getUrl());
    assertEquals(username, dataSource.getUsername());
    assertEquals(password, dataSource.getPassword());
    assertEquals(autoCommit, dataSource.getDefaultAutoCommit());
    // Cannot test driver properties.
    assertEquals(accessToUnderlyingConnectionAllowed, dataSource.isAccessToUnderlyingConnectionAllowed());
    assertEquals(defaultCatalog, dataSource.getDefaultCatalog());
    assertEquals(defaultReadOnly, dataSource.getDefaultReadOnly());
    assertEquals(defaultTransactionIsolation, dataSource.getDefaultTransactionIsolation());
    assertEquals(initialSize, dataSource.getInitialSize());
    assertEquals(maxActive, dataSource.getMaxActive());
    assertEquals(maxIdle, dataSource.getMaxIdle());
    assertEquals(maxOpenPreparedStatements, dataSource.getMaxOpenPreparedStatements());
    assertEquals(maxWait, dataSource.getMaxWait());
    assertEquals(minIdle, dataSource.getMinIdle());
    assertEquals(numTestsPerEvictionRun, dataSource.getNumTestsPerEvictionRun());
    assertEquals(poolPreparedStatements, dataSource.isPoolPreparedStatements());
    assertEquals(testOnBorrow, dataSource.getTestOnBorrow());
    assertEquals(testOnReturn, dataSource.getTestOnReturn());
    assertEquals(testWhileIdle, dataSource.getTestWhileIdle());
    assertEquals(timeBetweenEvictionRunsMillis, dataSource.getTimeBetweenEvictionRunsMillis());
    assertEquals(validationQuery, dataSource.getValidationQuery());
}

From source file:org.pentaho.di.core.database.PoolableDataSourceTest.java

@Test
public void testPropertiesAreSet() throws Exception {
    Connection conn = null;//from  www. java2  s.  c om
    try {
        conn = getConnection();
        Field field = ConnectionPoolUtil.class.getDeclaredField("dataSources");
        assertNotNull("Can't find field 'dataSources' in class ConnectionPoolUtil", field);
        field.setAccessible(true);
        Map<String, BasicDataSource> dataSources = (Map<String, BasicDataSource>) field
                .get(ConnectionPoolUtil.class);
        BasicDataSource ds = dataSources.get(dbMeta.getName());

        assertEquals(true, ds.getDefaultAutoCommit());
        assertEquals(true, ds.getDefaultReadOnly());
        assertEquals(1, ds.getDefaultTransactionIsolation());
        assertEquals(null, ds.getDefaultCatalog());
        assertEquals(30, ds.getMaxIdle());
        assertEquals(3, ds.getMinIdle());
        assertEquals(MAX_WAIT_TIME, ds.getMaxWait());
        assertEquals(VALIDATION_QUERY, ds.getValidationQuery());
        assertEquals(true, ds.getTestOnBorrow());
        assertEquals(true, ds.getTestOnReturn());
        assertEquals(true, ds.getTestWhileIdle());
        assertEquals(300000, ds.getTimeBetweenEvictionRunsMillis());
        assertEquals(true, ds.isPoolPreparedStatements());
        assertEquals(2, ds.getMaxOpenPreparedStatements());
        assertEquals(true, ds.isAccessToUnderlyingConnectionAllowed());
        assertEquals(false, ds.getRemoveAbandoned());
        assertEquals(1000, ds.getRemoveAbandonedTimeout());
        assertEquals(false, ds.getLogAbandoned());
    } finally {
        DatabaseUtil.closeSilently(conn);
    }
}