2013-02-20 133 views
0

Java - spring 3Java spring 3數據源SingleConnectionDataSource

以下是spring-context文件中配置的數據源連接。

問題是SingleConnectionDataSource在多線程中不起作用,那麼在多線程中起什麼作用?

<bean id="dataSource" class="org.springframework.jdbc.datasource.SingleConnectionDataSource"> 
     <property name="driverClassName" value="net.sourceforge.jtds.jdbcx.JtdsDataSource"/> 
     <property name="url" value="${dataSource.url}"/> 
     <property name="username" value="${dataSource.username}"/> 
     <property name="password" value="${dataSource.password}"/> 
    </bean> 

回答

-1

隨着合併數據源,池中的連接不會真正關閉,他們只是返回池中。但是,當應用程序關閉時,那些與數據庫的連接應該正確且實際關閉,這是最終清理的地方。

順便說一句,c3p0項目幾乎死在水中,我建議你改用Apache Commons DBCP,它仍然在維護中。

Apache Commons DBCP 檢查此鏈接代碼 configure BasicDataSource as bean in web.xml

+0

它沒有死在水中,它最後更新於feb的9日(問題出現前11天)http://sourceforge.net/projects/c3p0/ – NimChimpsky 2013-02-20 20:33:57

+0

http://stackoverflow.com/a/520868/106261 – NimChimpsky 2013-02-20 20:42:00

+0

我仍然推薦Apache的產品,我見過很多產品這個庫正在使用,我試過了,它爲我工作。 – 2013-02-22 20:35:08

1
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> 
    <property name="driverClass" value="net.sourceforge.jtds.jdbc.Driver"/> 

正是我們始終用來連接到SQL Server。 Maven的:

<dependency> 
      <groupId>c3p0</groupId> 
      <artifactId>c3p0</artifactId> 
      <version>0.9.1.2</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
+0

有在org.springframework.jdbc.datasource提供的任何一個? – 2013-02-20 15:49:23

+0

我不知道你的具體需求是什麼,他們在這裏列出:http://static.springsource.org/spring/docs/1.2.x/api/org/springframework/jdbc/datasource/package-summary.html – NimChimpsky 2013-02-20 15:51:34

+0

DriverManagerDataSource呢? – 2013-02-20 15:52:50