問題タブ [c3p0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Hibernate と Mysql のタイムアウトの問題、c3p0 では機能しない
Hibernate と Mysql のタイムアウト エラーに 1 週間悩まされています。どうやら、Hibernate/MySQL が 8 時間 (Mysql のデフォルトのタイムアウト値) 後に実行された後、例外が発生しました。c3p0も追加しました。しかし、それは役に立ちません。
アドバイスよろしくお願いします
ここに私の休止状態の設定があります:
トレースは次のとおりです。
java - c3p0データベースプールエラー
接続プールとして3cp0を使用してプログラムを30分ほど実行すると、次の例外が発生します。
エラーは次のとおりです。
そして私はこのように私のプールを設定しています:
ページをクロールする100個のスレッドがあり、次に結果をデータベースに挿入する15個のDBスレッドがあります。クロールタスクに20秒以上かかる場合は、スレッドを強制終了します。データベース接続プールが停止する理由はありますか?
ありがとう
java - org.springframework.jdbc.CannotGetJdbcConnectionException で JDBC 接続情報をログに記録する方法
Ibatis および C3P0 接続プールと組み合わせて Spring フレームワークを使用するアプリケーションに取り組んでいます。システムは、約 12 の個別のデータベースに接続します。
データベースの 1 つに到達できない場合、Spring によって生成されたログファイルにスタック トレースが記録されます (以下を参照)。ただし、このログには、到達できないデータベースに関する非常に重要な情報が欠落しています。
基本的に、接続エラー時に jdbc 接続文字列 (パスワードなし) をログに記録したいと考えています。これをログに記録するようにSpringに指示する簡単な方法はありますか?
....
java - Hibernate、c3p0、およびMysql:java.io.EOFException
MySQLとc3p0でHibernateを使用していますが、MySQL接続が8時間後に期限切れになると()、Hibernateは再接続できず、次の例外が発生します。wait_timeout
これはhibernate.cfgです:
これは私のc3p0.propertiesファイルです:
アップデート:
ログファイルの下:
どんなヒントでも大歓迎です。
ありがとう
java - com.mchange.v2.resourcepool.CannotAcquireResourceException: ResourcePool は、プライマリ ファクトリまたはソースからリソースを取得できませんでした
Hibernate の下に MySQL があり、接続プールにも c3p0-0.9.1 を使用しています。
ラップトップで実行している場合 (つまり、ローカルで実行している場合)、エラーは発生しません。しかし、サーバーにデプロイすると、次の例外が発生します。
これは私のスタックトレースです:
java - java c3p0: autoreconnect=true を設定するにはどうすればよいですか?
Java を使用して red5 アプリケーションを作成しており、データベースとのやり取りに c3p0 を使用しています。
私のMySQLサーバーで接続がタイムアウトした後、私のアプリケーションはautoreconnect = trueを設定するように提案して動作を停止したようです。
どうすればそうできますか?
これは、データソースを作成するために使用する関数です:
java - c3p0 ループと OSGi
プロジェクトを OSGi バンドルにラップします (Activator.start() から最初の開始メソッドを呼び出すだけです)。私のプロジェクトでは、ORM ActiveObjects と c3p0 プールを使用しています。プロジェクトの依存関係 (jar ライブラリ) はすべてクラスパスにあります。プロジェクトを c3p0 で実行すると、DB への 1 つのクエリに約 5 分かかります。c3p0 がなければ正しく動作します。問題とは何ですか?どうもありがとう!
mysql - Hibernate/c3p0/MySQL でのネットワーク遅延
レイテンシーがかなり高く (~80ms)、帯域幅が比較的広い接続を介して、MySQL (InnoDB) データベースに接続しています。
クエリの発行方法によって、クエリ時間が大幅に異なることに気付きました。次の例では、主キーによって単一の小さな行に対してクエリを実行しています。クエリ時間は次のとおりです。
- コマンド ライン クライアント (
mysql
): ~160ms - 生の JDBC: ~240ms
- ハイバネート: ~400ms (~0ms 開始、~160ms 取得、~240ms コミット)
- ハイバネート、L2: ~240ms (~0ms 開始、~0ms 取得、~240ms コミット)
- ハイバネート、c3p0: ~880ms (~160ms 開始、~240ms 取得、~480ms コミット)
- ハイバネート、L2+c3p0: ~640ms (~160ms 開始、~0ms 取得、~480ms コミット)
(「L2」は Hibernate の第 2 レベルのキャッシュが有効になったことを意味し、「c3p0」は c3p0 が有効になったことを意味し、「begin」、「get」、および「commit」は、クエリ中に呼び出されるさまざまなサブメソッドのタイミングです)
これらは、おおよそ「定常状態」の結果であるため、L2 キャッシュはホットであり、Hibernate の起動時間は無視されます。L2 キャッシュが有効な場合、実際には get が発行されないため、「get」は通常 0ms であると想定しています。
私の質問は次のとおりです。
- すべてのクエリが、ネットワーク レイテンシの何倍にもなっているのはなぜですか? コマンド ライン クライアントでさえ、
mysql
単純なクエリに 2 回の往復が必要なようです。 - すべての JDBC/Hibernate クエリがコマンドライン クライアントよりもずっと遅いのはなぜですか? 生の JDBC クライアントでさえ、3 回の往復が必要なようです。
- c3p0 がすべてを悪化させるように見えるのはなぜですか? 私が知る限り、接続テストを無効にしましたが、そうでなければ物事を説明することができました.
java - スレッドがすべて空の場合、C3P0 の明らかなデッドロック?
Tomcat の接続プールとして C3P0 を使用していますが、非常に心配なエラーが表示されます。
行 534 は次のとおりです。
すべてのスレッドがアイドル状態であるように見えます。彼らは仕事を待っています。アクティブなスレッドは 0 で、完了すべきタスクは 1 つだけです。何が問題なのか手がかりはありますか?
構成は次のとおりです。
java - Hibernate + c3p0 + MySqlが多数のスリープ接続を作成するのを防ぐにはどうすればよいですか?
私はGWTとHibernate、c3p0、およびMySQLを使用して、限られたオーディエンス(1日あたり最大50ユーザー)でWebアプリを作成しています。close()
テスト中に、メソッドの使用に関係なく、Hibernateが各セッションとの接続を開いていたが、閉じていなかったことがわかりました。
私の現在の構成は次のとおりです。
アプリケーションへの新しい接続ごとに、新しいプールが作成されます。たとえば、プールサイズを3に設定した場合、アプリケーションへの2つの接続は、アプリケーションが閉じられるまで6つの接続になります。
意図された動作は、各トランザクションの後に接続を単に閉じるか再利用することです。どうすればこれを達成できますか?