spring DriverManagerDataSource打开了很多连接?

时间:2012-07-16 08:44:35

标签: java spring hibernate connection connection-pooling

我正在使用spring和hibernate独立应用程序。我正在使用以下配置。

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${driverClassName}" />
        <property name="url" value="${db.url}" />
        <property name="username" value="${db.username}" />
        <property name="password" value="${db.password}" />
    </bean>

    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="annotatedClasses">
            <list>
                <value>com.some.SomePojo</value>
            </list>
        </property>

        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${mdm.db.dialect}</prop>

            </props>
        </property>
    </bean>


    <tx:annotation-driven transaction-manager="transactionManager" />

    <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

是每次请求数据时DriverManagerDataSource都会打开数据库连接吗?还是重用已打开的连接?它还会关闭空闲连接吗?使用连接池概念我需要c3p0吗?

谢谢!

1 个答案:

答案 0 :(得分:5)

java doc states;

  

此类不是实际的连接池;它实际上并没有池连接。

查看更多信息

http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/jdbc/datasource/DriverManagerDataSource.html