2016-06-10 72 views
0

當前在我的項目中,數據庫連接所需的數據源,事務管理器和其他bean在xml文件中定義,並且在屬性文件中配置值,從中進行連接。 爲前:使用c3p0的數據庫連接

<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創建Datasource的bean時,我應該能夠通過setter方法從我的java文件中設置xml(DB_URL)中變量的值。 該怎麼辦?

+0

請說明您的具體問題或添加更多的細節,以確切地突出你所需要的。正如它目前所寫,很難確切地說出你在問什麼。請參閱「如何問問」頁面以獲取有關澄清此問題的幫助。 –

回答

0

我並不完全明白你想要做什麼,但如果你的問題是你想用一些自定義功能來擴展ComboPoolDataSource,只需擴展AbstractComboPooledDataSource即可。請查看ComboPooledDataSource的來源。這裏沒有多少(一旦你通過惱人的版權標題)。使用它作爲模板,然後根據需要擴展AbstractComboPooledDataSource