List of usage examples for org.apache.commons.dbcp BasicDataSource isAccessToUnderlyingConnectionAllowed
public synchronized boolean isAccessToUnderlyingConnectionAllowed()
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/*from w ww .j a va 2s . 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.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//from w ww. j a v a2 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 w w w . j a va2s . c o m*/ 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); } }
From source file:org.unitils.database.core.DataSourceWrapperFactoryCreateTest.java
@Test public void create() throws Exception { DataSourceWrapper result = dataSourceWrapperFactory.create(databaseConfiguration); assertSame(databaseConfiguration, result.getDatabaseConfiguration()); DataSource dataSource = result.getDataSource(false); BasicDataSource basicDataSource = (BasicDataSource) dataSource; assertTrue(basicDataSource.isAccessToUnderlyingConnectionAllowed()); assertEquals("driver", basicDataSource.getDriverClassName()); assertEquals("user", basicDataSource.getUsername()); assertEquals("pass", basicDataSource.getPassword()); assertEquals("url", basicDataSource.getUrl()); }
From source file:org.unitils.database.DatabaseUnitils.java
/** * This method gets a {@link Connection} from the {@link DataSource} and checks if it is a {@link oracle.jdbc.driver.OracleConnection}. * There is a bug with commons-dbcp 1.4: if you want to create a {@link oracle.sql.BLOB} or a {@link java.sql.Clob} than you must get the inner {@link Connection} but you get another {@link Connection}. * This is fixed in this method.//from w w w .j av a2s.c o m * @param connection * @param dataSource * @return */ public static Connection getGoodConnection(Connection connection, DataSource dataSource) { if (dataSource instanceof BasicDataSource) { BasicDataSource tempDataSource = (BasicDataSource) dataSource; if (tempDataSource.getDriverClassName().toLowerCase().contains("oracle") && connection instanceof DelegatingConnection) { boolean canAccess = tempDataSource.isAccessToUnderlyingConnectionAllowed(); if (!canAccess) { tempDataSource.setAccessToUnderlyingConnectionAllowed(true); } DelegatingConnection tempConnection = (DelegatingConnection) connection; Connection innermostDelegate = tempConnection.getInnermostDelegate(); if (!canAccess) { tempDataSource.setAccessToUnderlyingConnectionAllowed(false); } return innermostDelegate; } } return connection; }