简体   繁体   中英

database connection using c3p0

Currently in my project the datasource , transactionmanager and other bean required for database connectivity are defined in xml file and there values are configured in property file from which it takes to do the connection. for ex:

<bean id="DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close" p:driverClass="${DRIVER_CLASS}" p:jdbcUrl="${DB_URL}"
    p:minPoolSize="${MIN_DB_POOL_SIZE}" p:maxPoolSize="${DB_POOL_SIZE}"
    p:maxStatements="${DB_POOL_SIZE}" p:idleConnectionTestPeriod="${IDLE_CONNECTION_TEST_PERIOD}"
    p:loginTeimeout="${LOGIN_TIMEOUT}" scope="singleton"></bean>

ALL these like values ${DB_POOL_SIZE} are configured in property file. the class com.mchange.v2.c3p0.ComboPooledDataSource is final class and can't be extended. so my requirement is :when spring create the bean of Datasource i should be able to set the value of the variable in xml(DB_URL) from my java file through setter method. how to do that?

I don't quite get what you are trying to do, but if your problem is that you'd like to extend ComboPoolDataSource with some custom functionality, just extend AbstractComboPooledDataSource . Check out the source to ComboPooledDataSource . There's not much there (once you get past the annoying copyright header). Use that as a template, and extend AbstractComboPooledDataSource however you'd like.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM