List of usage examples for org.apache.commons.dbcp.cpdsadapter DriverAdapterCPDS setMaxIdle
public void setMaxIdle(int maxIdle)
From source file:com.ibm.xsp.extlib.relational.jdbc.datasource.dbcp.DbcpResourceFactory.java
/** * //from www . ja v a2s .c om */ public DbcpResourceFactory(final String dataSourceName, final String driverClass, final String url, final String userName, final String password, final int maxActive, final int maxIdle) throws PoolException { try { connectionPoolDataSource = AccessController .doPrivileged(new PrivilegedExceptionAction<ConnectionPoolDataSource>() { public ConnectionPoolDataSource run() throws Exception { //Using the generic connection pool adapter from DBCP, todo, look how to use the connection pool datasource provided by each driver DriverAdapterCPDS adapter = new DriverAdapterCPDS(); adapter.setMaxActive(maxActive); adapter.setMaxIdle(maxIdle); adapter.setUrl(url); adapter.setUser(userName); adapter.setPassword(password); adapter.setDriver(driverClass); SharedPoolDataSource tds = new SharedPoolDataSource(); tds.setConnectionPoolDataSource(adapter); tds.setMaxActive(maxActive); ds = tds; return adapter; } }); } catch (Exception e) { // "Unable to initialize the shared connection pool DataSource" String msg = com.ibm.xsp.extlib.relational.RelationalResourceHandler .getSpecialAudienceString("DbcpPoolDataSource.Unabletoinitializethesharedconnec");//$NON-NLS-1$ throw new PoolException(e, msg); } }
From source file:net.sourceforge.myvd.inserts.jdbc.JdbcInsert.java
public void configure(String name, Properties props, NameSpace nameSpace) throws LDAPException { this.name = name; driver = props.getProperty("driver"); logger.info("Driver : " + driver); url = props.getProperty("url"); logger.info("URL : " + url); user = props.getProperty("user"); logger.info("User : " + user); pwd = props.getProperty("password"); logger.info("Password : **********"); this.valQuery = props.getProperty("validationQuery"); logger.info("Validation Query : '" + this.valQuery + "'"); this.maxCons = Integer.parseInt(props.getProperty("maxCons", "5")); logger.info("Max Cons : " + this.maxCons); this.maxIdleCons = Integer.parseInt(props.getProperty("maxIdleCons", "5")); logger.info("maxIdleCons : " + this.maxIdleCons); DriverAdapterCPDS pool = new DriverAdapterCPDS(); try {//w ww . jav a 2 s .c om pool.setDriver(driver); } catch (ClassNotFoundException e) { throw new LDAPException("Could not load JDBC Driver", LDAPException.OPERATIONS_ERROR, driver, e); } pool.setUrl(url); pool.setUser(user); pool.setPassword(pwd); pool.setMaxActive(maxCons); pool.setMaxIdle(maxIdleCons); SharedPoolDataSource tds = new SharedPoolDataSource(); tds.setConnectionPoolDataSource(pool); tds.setMaxActive(maxCons); tds.setMaxWait(50); tds.setTestOnBorrow(true); if (this.valQuery != null) { tds.setValidationQuery(this.valQuery); } this.ds = tds; base = nameSpace.getBase().toString(); rdn = props.getProperty("rdn"); logger.info("RDN : " + rdn); String mapping = props.getProperty("mapping"); logger.info("Mapping : " + mapping); StringTokenizer toker = new StringTokenizer(mapping, ","); this.ldap2db = new HashMap<String, String>(); this.db2ldap = new HashMap<String, String>(); while (toker.hasMoreTokens()) { String token = toker.nextToken(); String ldap = token.substring(0, token.indexOf('=')); String db = token.substring(token.indexOf('=') + 1); ldap2db.put(ldap.toLowerCase(), db.toLowerCase()); db2ldap.put(db.toLowerCase(), ldap.toLowerCase()); } this.objectClass = props.getProperty("objectClass"); logger.info("objectClass : " + objectClass); this.rdn = props.getProperty("rdn"); this.dbRdn = ldap2db.get(rdn); this.useSimple = props.getProperty("useSimple", "false").equalsIgnoreCase("true"); logger.info("Use Simple : " + useSimple); this.SQL = props.getProperty("sql"); logger.info("SQL : " + this.SQL); int whereEnd; String fields = this.SQL.substring(this.SQL.toLowerCase().indexOf("select") + "select".length() + 1, this.SQL.toLowerCase().indexOf("from")); logger.info("fields : " + fields); int where = this.SQL.toLowerCase().indexOf("where"); String table = ""; if (where == -1) { table = this.SQL.substring(this.SQL.toLowerCase().indexOf("from") + "from".length() + 1).trim(); } else { table = this.SQL.substring(this.SQL.toLowerCase().indexOf("from") + "from".length() + 1, where).trim(); } logger.info("table - " + table); try { Class.forName(this.driver).newInstance(); } catch (Exception e) { } /* try { Connection con = DriverManager.getConnection(this.url,this.user,this.pwd); toker = new StringTokenizer(fields,",",false); while (toker.hasMoreTokens()) { String field = toker.nextToken(); ResultSet rs = con.getMetaData().getColumns(null, null, table, field); rs.next(); String type = rs.getString("TYPE_NAME"); logger.info(field + " - " + type); } PreparedStatement ps = null; ps con.close(); } catch (SQLException e) { logger.error("Error loading db schema",e); } */ if (this.useSimple) { this.searchSQL = this.SQL.substring(this.SQL.toLowerCase().indexOf(" from ")); int whereBegin = this.searchSQL.toLowerCase().indexOf(" where "); whereEnd = this.searchSQL.toLowerCase().indexOf(" order "); this.hasPostWhere = true; if (whereEnd == -1) { whereEnd = this.searchSQL.toLowerCase().indexOf(" group "); } if (whereEnd == -1) { this.hasPostWhere = false; whereEnd = this.searchSQL.length(); } if (this.hasPostWhere) { this.postWhere = this.searchSQL.substring(whereEnd); } if (whereBegin != -1) { this.hasWhere = true; this.whereClause = "(" + this.searchSQL.substring(whereBegin + " where ".length(), whereEnd) + ") "; this.searchSQL = this.searchSQL.substring(0, whereBegin); } else { if (this.hasPostWhere) { this.searchSQL = this.searchSQL.substring(0, whereEnd); } this.hasWhere = false; } } else { this.searchSQL = "SELECT " + ldap2db.get(this.rdn.toLowerCase()) + " " + SQL.substring(SQL.indexOf(" FROM ")); } this.baseDN = new DN(base); this.addBaseToFilter = Boolean.parseBoolean(props.getProperty("addBaseToFilter", "true")); logger.info("Add Base To Filter : " + this.addBaseToFilter); this.ns = nameSpace; }
From source file:org.apache.synapse.commons.datasource.factory.DataSourceFactory.java
/** * Factory method to create a DataSource based on provided information * which is encapsulated in the DataSourceInformation object. * * @param dataSourceInformation Information about DataSource * @return DataSource Instance if one can be created , * otherwise null or exception if provided details are not valid or enough to create * a DataSource//from w ww .ja v a 2s .co m */ public static DataSource createDataSource(DataSourceInformation dataSourceInformation) { String dsType = dataSourceInformation.getType(); String driver = dataSourceInformation.getDriver(); if (driver == null || "".equals(driver)) { handleException("Database driver class name cannot be found."); } String url = dataSourceInformation.getUrl(); if (url == null || "".equals(url)) { handleException("Database connection URL cannot be found."); } String user = dataSourceInformation.getSecretInformation().getUser(); String password = dataSourceInformation.getSecretInformation().getResolvedSecret(); int defaultTransactionIsolation = dataSourceInformation.getDefaultTransactionIsolation(); if (DataSourceInformation.BASIC_DATA_SOURCE.equals(dsType)) { BasicDataSource basicDataSource = new BasicDataSource(); basicDataSource.setDriverClassName(driver); basicDataSource.setUrl(url); if (user != null && !"".equals(user)) { basicDataSource.setUsername(user); } if (password != null && !"".equals(password)) { basicDataSource.setPassword(password); } basicDataSource.setMaxActive(dataSourceInformation.getMaxActive()); basicDataSource.setMaxIdle(dataSourceInformation.getMaxIdle()); basicDataSource.setMaxWait(dataSourceInformation.getMaxWait()); basicDataSource.setMinIdle(dataSourceInformation.getMinIdle()); basicDataSource.setDefaultAutoCommit(dataSourceInformation.isDefaultAutoCommit()); basicDataSource.setDefaultReadOnly(dataSourceInformation.isDefaultReadOnly()); basicDataSource.setTestOnBorrow(dataSourceInformation.isTestOnBorrow()); basicDataSource.setTestOnReturn(dataSourceInformation.isTestOnReturn()); basicDataSource.setTestWhileIdle(dataSourceInformation.isTestWhileIdle()); basicDataSource.setMinEvictableIdleTimeMillis(dataSourceInformation.getMinEvictableIdleTimeMillis()); basicDataSource .setTimeBetweenEvictionRunsMillis(dataSourceInformation.getTimeBetweenEvictionRunsMillis()); basicDataSource.setNumTestsPerEvictionRun(dataSourceInformation.getNumTestsPerEvictionRun()); basicDataSource.setMaxOpenPreparedStatements(dataSourceInformation.getMaxOpenPreparedStatements()); basicDataSource.setAccessToUnderlyingConnectionAllowed( dataSourceInformation.isAccessToUnderlyingConnectionAllowed()); basicDataSource.setInitialSize(dataSourceInformation.getInitialSize()); basicDataSource.setPoolPreparedStatements(dataSourceInformation.isPoolPreparedStatements()); if (defaultTransactionIsolation != -1) { basicDataSource.setDefaultTransactionIsolation(defaultTransactionIsolation); } String defaultCatalog = dataSourceInformation.getDefaultCatalog(); if (defaultCatalog != null && !"".equals(defaultCatalog)) { basicDataSource.setDefaultCatalog(defaultCatalog); } String validationQuery = dataSourceInformation.getValidationQuery(); if (validationQuery != null && !"".equals(validationQuery)) { basicDataSource.setValidationQuery(validationQuery); } return basicDataSource; } else if (DataSourceInformation.PER_USER_POOL_DATA_SOURCE.equals(dsType)) { DriverAdapterCPDS adapterCPDS = new DriverAdapterCPDS(); try { adapterCPDS.setDriver(driver); } catch (ClassNotFoundException e) { handleException("Error setting driver : " + driver + " in DriverAdapterCPDS", e); } adapterCPDS.setUrl(url); if (user != null && !"".equals(user)) { adapterCPDS.setUser(user); } if (password != null && !"".equals(password)) { adapterCPDS.setPassword(password); } adapterCPDS.setPoolPreparedStatements(dataSourceInformation.isPoolPreparedStatements()); adapterCPDS.setMaxIdle(dataSourceInformation.getMaxIdle()); PerUserPoolDataSource perUserPoolDataSource = new PerUserPoolDataSource(); perUserPoolDataSource.setConnectionPoolDataSource(adapterCPDS); perUserPoolDataSource.setDefaultMaxActive(dataSourceInformation.getMaxActive()); perUserPoolDataSource.setDefaultMaxIdle(dataSourceInformation.getMaxIdle()); perUserPoolDataSource.setDefaultMaxWait((int) dataSourceInformation.getMaxWait()); perUserPoolDataSource.setDefaultAutoCommit(dataSourceInformation.isDefaultAutoCommit()); perUserPoolDataSource.setDefaultReadOnly(dataSourceInformation.isDefaultReadOnly()); perUserPoolDataSource.setTestOnBorrow(dataSourceInformation.isTestOnBorrow()); perUserPoolDataSource.setTestOnReturn(dataSourceInformation.isTestOnReturn()); perUserPoolDataSource.setTestWhileIdle(dataSourceInformation.isTestWhileIdle()); perUserPoolDataSource .setMinEvictableIdleTimeMillis((int) dataSourceInformation.getMinEvictableIdleTimeMillis()); perUserPoolDataSource.setTimeBetweenEvictionRunsMillis( (int) dataSourceInformation.getTimeBetweenEvictionRunsMillis()); perUserPoolDataSource.setNumTestsPerEvictionRun(dataSourceInformation.getNumTestsPerEvictionRun()); if (defaultTransactionIsolation != -1) { perUserPoolDataSource.setDefaultTransactionIsolation(defaultTransactionIsolation); } String validationQuery = dataSourceInformation.getValidationQuery(); if (validationQuery != null && !"".equals(validationQuery)) { perUserPoolDataSource.setValidationQuery(validationQuery); } return perUserPoolDataSource; } else { handleException("Unsupported DataSource : " + dsType); } return null; }