簡體   English   中英

通訊鏈路故障ClearDB

[英]Communications Link Failure ClearDB

我意識到還有其他與我類似的問題,但我覺得我的問題有所不同,所以我還是要問一下。 我一直在使用hibernate開發Java Web應用程序,並且在本地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>

提前致謝

我敢打賭,如果您使用JawsDB附加組件而不是ClearDB,那么這將消失:

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

我對ClearDB有很多問題。

如果必須使用ClearDB,建議將connectionTestQuery添加到數據庫連接池配置中。 我不確定如何通用地執行此操作,但是如果您使用的是HikariCP (這很好,應該使用),則可以添加以下內容:

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

ClearDB通常會以空閑/睡眠狀態關閉60秒鍾以上的連接。 當您的系統認為它具有數據庫連接但遠程主機已將其關閉時,就會發生這種情況。 如先前的受訪者所述,快速的connectionTestQuery應該可以解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM