【问题标题】:spring DriverManagerDataSource opens up many connections?spring DriverManagerDataSource 打开了很多连接?
【发布时间】:2012-07-15 02:15:08
【问题描述】:

我正在使用 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 吗?

谢谢!

【问题讨论】:

标签: java spring hibernate connection connection-pooling


【解决方案1】:

java 文档说明;

这个类不是真正的连接池;它实际上并不池连接。

查看更多信息

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

【讨论】:

  • 感谢您的回复。我可以在独立应用程序中使用 c3p0 吗?还是应该在网络应用程序中使用? bcaz 我的 appln 没有部署在任何应用程序服务器中。谢谢!
  • 您有 3 个选项; 1 使用基于容器的连接池 JNDI,2 使用 c3po,或 3 DBCP。我会选择选项 1,它让你的 spring 配置更简单
猜你喜欢
  • 2020-11-11
  • 2011-09-17
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 2012-04-13
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多