【问题标题】:database connection using c3p0使用 c3p0 连接数据库
【发布时间】:2016-06-10 09:25:48
【问题描述】:

目前在我的项目中,数据库连接所需的 datasource 、 transactionmanager 和其他 bean 都在 xml 文件中定义,并且在属性文件中配置了用于进行连接的值。 例如:

<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>

所有这些类似的值 ${DB_POOL_SIZE} 都在属性文件中配置。 com.mchange.v2.c3p0.ComboPooledDataSource 类是最终类,不能扩展。所以我的要求是 :当spring创建数据源的bean时,我应该能够通过setter方法从我的java文件中设置xml(DB_URL)中变量的值。 该怎么做?

【问题讨论】:

  • 请澄清您的具体问题或添加其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。请参阅“如何提问”页面以获得澄清此问题的帮助。

标签: java spring c3p0


【解决方案1】:

我不太明白你想要做什么,但如果你的问题是你想用一些自定义功能扩展ComboPoolDataSource,只需扩展AbstractComboPooledDataSource。查看ComboPooledDataSource 的来源。那里没有太多内容(一旦您克服了烦人的版权标题)。将其用作模板,并根据需要扩展 AbstractComboPooledDataSource

【讨论】:

    猜你喜欢
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2016-09-16
    • 2019-12-31
    • 2016-04-10
    相关资源
    最近更新 更多