【问题标题】:Setting timeout for BasicDataSource为 BasicDataSource 设置超时
【发布时间】:2017-07-31 02:14:53
【问题描述】:

我们在 Tomcat 7.0.x 中部署了一个基于 Hibernate 的应用程序(到 MySQL 服务器)

我们需要实现一个超时属性,如果查询运行时间超过此设置的阈值,则连接查询线程应断开连接并返回池。

我们有任何可以在 Tomcat / Hibernate 配置中设置的属性吗?

removeAbandonedTimeout 可以用于此目的吗? [https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html]

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    <property name="url" value="${database.url}"></property>
    <property name="username" value="${database.username}"></property>
    <property name="password" value="${database.pwd}"></property>
    <property name="initialSize" value="8"></property>
    <property name="maxActive" value="30"></property>
    <property name="maxWait" value="10000"></property>
</bean>


    <property name="removeAbandonedTimeout" value="20"></property>   ??

【问题讨论】:

    标签: hibernate connection-pooling apache-commons-dbcp


    【解决方案1】:

    defaultQueryTimeout来自https://commons.apache.org/proper/commons-dbcp/configuration.html

    是控制查询/执行超时的一种

    【讨论】:

    • 请避免仅链接的答案,因为链接可能会过时。尝试使用您在提供的链接中发现有用的内容的基本部分来更新您的答案。虽然此链接可能会解决问题,但 including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您是在为将来的读者回答问题,而不仅仅是为提问的人。
    猜你喜欢
    • 2011-04-22
    • 2010-10-10
    • 2010-09-27
    • 1970-01-01
    • 2010-12-21
    • 2015-12-17
    • 2019-03-27
    • 2011-12-14
    • 2011-01-16
    相关资源
    最近更新 更多