【问题标题】:Communications Link Failure ClearDB通信链路故障 ClearDB
【发布时间】:2018-02-17 11:49:42
【问题描述】:

我知道还有其他问题与我的相似,但我觉得我的问题有点不同,所以我还是要问一下。我一直在使用 hibernate 开发一个 java web 应用程序,当我在 localhost Tomcat 服务器上运行它时没有遇到任何问题。但是,在尝试将其部署在 Heroku 上并使用 ClearDB 的免费版本后,我遇到了问题,因为该网站会随机抛出异常。具体来说,我得到一个

org.hibernate.exception.JDBCConnectionException: Communications link failure 

我在 google 上发现但相信不是我的问题:

  • 数据库空闲时间过长(> 8 小时)。我一直在使用该网站,所以它的空闲时间肯定没有超过 8 小时。
  • 与数据库的连接太多。我是目前唯一连接到数据库的人,网站说最多有 10 个连接,所以我在他们的限制范围内

我的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.password">PASSWORD</property>
    <property name="hibernate.connection.url">jdbc:mysql://DBURL?reconnect=true</property>
    <property name="hibernate.connection.username">USERNAME</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name= "hbm2ddl.auto">update</property>
    <property name="show_sql">true</property>
</session-factory>

提前致谢

【问题讨论】:

    标签: java mysql hibernate heroku cleardb


    【解决方案1】:

    如果您使用 JawsDB add-on 而不是 ClearDB,我愿意打赌这种情况会消失:

    $ heroku addons:destroy cleardb
    $ heroku addons:create jawsdb:kitefin
    

    ClearDB 有很多问题。

    如果您必须使用 ClearDB,我建议您将 connectionTestQuery 添加到您的数据库连接池配置中。我不知道一般如何做到这一点,但如果你使用HikariCP(这很好,你应该使用),你可以添加如下内容:

    <property name="hibernate.hikari.connectionTestQuery">SELECT 1</property>
    

    【讨论】:

      【解决方案2】:

      ClearDB 会定期关闭空闲/睡眠状态超过 60 秒的连接。当您的系统认为它具有数据库连接但远程主机已将其关闭时,就会发生这种情况。正如前面的受访者所说,一个快速的connectionTestQuery 应该可以解决这个问题。

      【讨论】:

        猜你喜欢
        • 2012-05-27
        • 2012-10-14
        • 2011-08-12
        • 1970-01-01
        • 2012-02-21
        • 2014-12-31
        • 2011-02-28
        • 2020-04-24
        相关资源
        最近更新 更多