Hi Dirk Thanks a lot for your answer and hints. In the meantime i managed to get it working as i like.
Cheers Frank > -----Ursprüngliche Nachricht----- > Von: Dirk Verbeeck [mailto:[EMAIL PROTECTED] > Gesendet: Dienstag, 21. Juni 2005 07:58 > An: Jakarta Commons Users List > Betreff: Re: AW: [DBCP] How to set connectionProperties? > > When using the manual pooling driver model you have to > put/set the properties in different places. > Username & password go into the DriverManagerConnectionFactory. > ValidationQuery has to be set on PoolableConnectionFactory > The other properties can be set on the GenericObjectPool. > > For each property you will find a setter, except for > initialSize, you have to do something like: > for (int i = 0 ; i < initialSize ; i++) { > connectionPool.addObject(); > } > > A bit more work but its just a matter of finding all the setters. > > Cheers > Dirk > > > > Frank Fischer wrote: > > Hi Dirk > > > > Thanks a lot for your answer. > > > > In fact, i'm constructing the connection pool myself based on the > > manual pooling driver model example. That's working fine so > far - db > > connections are created and i can pass SQL statements to the db. > > > > Here's what i do: > > > > ------------------- > > > > DBURL = "jdbc:mysql://" + SQLServer + "/" + SQLDatabase; > > > > Properties DBCPProps = new Properties(); > > DBCPProps.setProperty("user", SQLUser); > > DBCPProps.setProperty("password", SQLPassword); > > DBCPProps.setProperty("initialSize", "4"); > > DBCPProps.setProperty("maxActive", "32"); > > DBCPProps.setProperty("maxIdle", "8"); > > DBCPProps.setProperty("minIdle", "4"); > > DBCPProps.setProperty("maxWait", "8000"); > > DBCPProps.setProperty("validationQuery", "SELECT 1"); > > DBCPProps.setProperty("testOnBorrow", "true"); > > DBCPProps.setProperty("testOnReturn", "true"); > > DBCPProps.setProperty("testWhileIdle", "true"); > > > DBCPProps.setProperty("timeBetweenEvictionRunsMillis", "3000"); > > DBCPProps.setProperty("numTestsPerEvictionRun", "3"); > > DBCPProps.setProperty("minEvictableIdleTimeMillis", "1"); > > > > > > // load the underlying JDBC driver. > > try > > { > > Class.forName(OriginalDriverName); > > // set up and register the PoolingDriver. > > > > // First, we'll need a ObjectPool that serves as the > > actual pool of connections. > > // We'll use a GenericObjectPool instance, > although any > > ObjectPool implementation will suffice. > > ObjectPool connectionPool = new GenericObjectPool(null); > > > > // Next, we'll create a ConnectionFactory that the pool > > will use to create Connections. > > // We'll use the DriverManagerConnectionFactory > > ConnectionFactory connectionFactory = new > > DriverManagerConnectionFactory(connectURI, props); > > > > // Now we'll create the > PoolableConnectionFactory, which > > wraps the "real" Connections created by the ConnectionFactory with > > // the classes that implement the pooling functionality. > > PoolableConnectionFactory > poolableConnectionFactory = new > > PoolableConnectionFactory(connectionFactory, connectionPool, null, > > null, false, true); > > > > // Finally, we create the PoolingDriver itself... > > Class.forName("org.apache.commons.dbcp.PoolingDriver"); > > PoolingDriver driver = (PoolingDriver) > > DriverManager.getDriver("jdbc:apache:commons:dbcp:"); > > > > // ...and register our pool with it. > > driver.registerPool(PoolName, connectionPool); > > } > > > > catch (Exception e) > > { > > } > > ------------------- > > > > This fragment works so far, meaning, the connection to db can be > > established (meaning also username and password are read > from props) > > but none of the remaining properties seem to have an > effect. I.e. the > > pool always starts with initialSize=0. > > > > How do i set the remaining properties? Can this be done > using this way > > or do i have to create the whole pool manually using > > > GenericObjectPool/DriverConnectionFactory/GenericKeyedObjectPoolFactor > > y/Pool > > ableConnectionFactory? > > > > Greetings, Frank > > > > > >>-----Ursprüngliche Nachricht----- > >>Von: Dirk Verbeeck [mailto:[EMAIL PROTECTED] > >>Gesendet: Samstag, 18. Juni 2005 12:46 > >>An: Jakarta Commons Users List > >>Betreff: Re: [DBCP] How to set connectionProperties? > >> > >>If you use a BasicDataSource then you can use the > >>addConnectionProperty(String name, String value) method. > >> > >>If you are constructing a DB pool yourself you should use the > >>following > >>constructor: > >>new DriverConnectionFactory(driver, url, connectionProperties) > >> > >>-- Dirk > >> > >>Frank Fischer wrote: > >> > >>>Hi all > >>> > >>>I'm using the ConnectionPool and it's working fine so far. > >> > >>Only thing > >> > >>>i do not know how to do, is to set the connectionProperties (like > >>>minIdle and so on). Since i'm using an ApplicationServer nor > >>>Datasources, i can not set them using a properties-File > but need to > >>>know how they can be set directly on the ConnectionPool. > >>> > >>>Does anyone know how this can be done? > >>> > >>>Thanks a lot for your support! > >>> > >>>Kind regards > >>>Frank > >>> > >> > >> > >> > >>------------------------------------------------------------ > --------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: > [EMAIL PROTECTED] > >> > >> > >> > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
