【问题标题】:Failing to connect to database some times spring-jdbc, commons-dbcp,tomcatspring-jdbc、commons-dbcp、tomcat 有时无法连接到数据库
【发布时间】:2013-05-24 17:31:51
【问题描述】:

我正在使用 spring3 和 org.apache.commons.dbcp.BasicDataSource 和 apache tomcat 6.x。

一旦应用程序启动它工作正常,但一段时间后它无法连接到数据库......重新启动它会再次连接。

下面是applicationContect.xml中使用的配置

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" p:initialSize="5" p:maxActive="15" p:maxIdle="5" p:driverClassName="com.mysql.jdbc.Driver" p:url="jdbc:mysql://<Host>/<schema>?useUnicode=true&amp;" p:username="<uName>" p:password="<pwd>" p:testOnBorrow="true" p:validationQuery="SELECT 1"/>

        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource">
        <ref bean="dataSource" />
        </property>
</bean>

会不会是配置有问题? 另外,我没有关闭/处理 jdbc 连接/结果集,我假设 spring-jdbc 会处理它。

我收到以下异常:

    org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, general error

【问题讨论】:

  • 试试加minIdle参数?

标签: spring tomcat spring-mvc spring-jdbc apache-commons-dbcp


【解决方案1】:

使用 jdbcTemplate.query 执行存储过程有时会失败。

相反,我使用 org.springframework.jdbc.core.simple.SimpleJdbcCall 来调用存储过程及其工作正常

【讨论】:

    猜你喜欢
    • 2015-04-24
    • 2013-09-04
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 2011-09-24
    • 2012-09-24
    • 1970-01-01
    • 2020-08-22
    相关资源
    最近更新 更多