少し前に Hibernate + MYSQL を使用しているときに com.mysql.jdbc.CommunicationsException という問題が発生しました。 。 。この問題を回避するには、アプリケーションで使用する前に接続の有効性を期限切れにするかテストするか、クライアント タイムアウトのサーバー構成値を増やすか、Connector/J 接続プロパティ 'autoReconnect=true' を使用することを検討する必要があります。
いくつか調査した結果、mysqlのタイムアウト設定に問題があることが判明しました。
具体的な解決策:
方法 1: Hibernate を使用して Hibernate.cfg.xml を変更し、いくつかのパラメータを追加する
<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
方法 2: 休止状態でデータベース接続パラメータを変更しない
autoRcConnect=true をデータベース接続パラメータに追加します
接続 URL にパラメータを追加します: autoReconnect=true =h6 yD*%
方法 3: はい 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>
これで問題は解決します。
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/zm12037/archive/2009/12/30/5109240.aspx