Ich bin vor einiger Zeit auf dieses Problem com.mysql.jdbc.CommunicationsException gestoßen, als ich Hibernate + MYSQL verwendet habe: . . . Sie sollten erwägen, die Verbindungsgültigkeit vor der Verwendung in Ihrer Anwendung abzulaufen und/oder zu testen, die vom Server konfigurierten Werte für Client-Timeouts zu erhöhen oder die Connector/J-Verbindungseigenschaft „autoReconnect=true“ zu verwenden, um dieses Problem zu vermeiden.
Nach einiger Recherche habe ich das Problem schließlich gelöst. Es stellte sich heraus, dass es sich um ein Problem mit den MySQL-Timeout-Einstellungen handelte.
Spezifische Lösungen:
Methode 1: Verwenden Sie den Ruhezustand, um Hibernate.cfg.xml zu ändern und einige Parameter hinzuzufügen
<property name="connection.autoReconnect">true</property> rV Q w
<property name="connection.autoReconnectForPools">true</property> Cw vgnlI?
<property name="connection.is-connection-validation-required">true</property> 42LtkTO w
Methode 2: Ändern Sie die Datenbankverbindungsparameter nicht im Ruhezustand
Fügen Sie autoRcConnect=true zu den Datenbankverbindungsparametern hinzu
Parameter zur Verbindungs-URL hinzufügen: autoReconnect=true =h6 yD*%
Methode Drei: Ja C3P0
<property name="hibernate.c3p0.acquire_increment">1</property> ba,oxjRa
<property name="hibernate.c3p0.idle_test_period">0</property> jUTE)lO&}
<property name="hibernate.c3p0.timeout">0</property> ]g11Q ^3;
<property name="hibernate.c3p0.validate">true</property>
Dies wird das Problem lösen.
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/zm12037/archive/2009/12/30/5109240.aspx