1

私は休止状態の3.3、c3p0、MySql 5.1、およびSpringを持っています。私のサービス呼び出しのMySQL接続は、約39分後に一貫して閉じられています。私のサービスコールの自然な実行時間は約5時間です。

39分の上限を回避するために、さまざまなc3p0構成などを変更してみました。運がない。

これをログに記録またはトラブルシューティングするためのより直接的で体系的な方法はありますか?つまり、接続が閉じられている理由と、が、どのレイヤーで接続を閉じているのかを知ることができますか?

更新:スタックトレース

24 Oct 2010 02:22:12,262 [WARN] 012e323c-df4b-11df-89ed-97e9a9c1ac19 (Foobar Endpoint : 3) org.hibernate.util.JDBCExceptionReporter: SQL Error: 0, SQLState: 08003
24 Oct 2010 02:22:12,264 [ERROR] 012e323c-df4b-11df-89ed-97e9a9c1ac19 (Foobar Endpoint : 3) org.hibernate.util.JDBCExceptionReporter: No operations allowed after connection closed.
24 Oct 2010 02:22:12,266 [ERROR] 012e323c-df4b-11df-89ed-97e9a9c1ac19 (Foobar Endpoint : 3) org.hibernate.event.def.AbstractFlushingEventListener: Could not synchronize database state with session
4

2 に答える 2

1

私は休止状態の3.3、c3p0、MySql 5.1、およびSpringを持っています。私のサービス呼び出しのMySQL接続は、約39分後に一貫して閉じられています。私のサービスコールの自然な実行時間は約5時間です。

よくわかりません。5時間実行することになっているが、現在約39分(またはおそらく2400秒)後に中止されるプロセスがありますか。確認できますか?以前は何が機能していましたか?何か変更しましたか?

その間、ここにいくつかのアイデアがあります:

  • データベースから開始します(B.5.2.11。通信エラーと接続の中止を参照) 。
    • オプションを指定してサーバーを起動し、--log-warnings疑わしいメッセージがないかログを確認します
    • データベースホストからMySQLクライアントを使用して問題を再現できるかどうかを確認します
    • それが機能する場合は、アプリサーバーマシンから同じことを行います
    • うまくいけば、My​​SQLは大丈夫だとわかるでしょう
  • アプリサーバーレベルで移動する
    • (HibernateおよびC3P0の)ロギングをアクティブにして、完全なスタックトレースおよび/または原因に関するより多くのヒントを取得します
    • また、C3P0構成設定を表示してください

また、Hibernateを使用する場合のC3P0の構成は非常に特殊であり、一部の設定はファイルに含める必要があることを忘れないでくださいc3p0.properties

于 2010-10-24T22:33:03.520 に答える
0

自動再接続構成

http://hibernatedb.blogspot.com/2009/05/automatic-reconnect-from-hibernate-to.html

于 2010-10-24T21:11:10.873 に答える