問題タブ [apache-commons-dbcp]

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.

0 投票する
0 に答える
1004 参照

database - 「ソケットから読み取るデータはもうありません」例外 Tomcat DBCP

Oracle 10g で tomcat の DBCP を使用しています。接続を正常に使用した後、しばらくすると、使用可能な接続がなくなります。私はこの例外を受け取ります

ソケットから読み取るデータはもうありません

次の再試行で、次の例外が発生します。

OALL8 は矛盾した状態にあります

次の再試行で、次の例外が発生します。

Io 例外: ソフトウェアが原因で接続が中止されました: ソケット書き込みエラー

その後、この例外が発生します。

閉じた接続

私の質問は、これらの例外の理由は何ですか? それらは DBCP の何らかのバグによるものですか、それとも Oracle データベースが問題を引き起こしているのでしょうか。

Tomcat 6、jdk 1.7、Oracle 10.2 を使用しています

0 投票する
1 に答える
2706 参照

hibernate - Hibernate c3p0 および DBCP 接続プーリング メカニズム

hibernate.cfg.xml で設定を指定しない場合、デフォルトの接続プーラーは何になりますか? また、どのように変更しますか? ここに休止状態の設定があります

質問 1. c3p0 jar には hibernate3 が付属していますか?

2. c3p0 を指定しない場合、hibernate はデフォルトの接続プーラーを使用しますか (デフォルトを使用していないことをどのように知ることができますか、パラメーターはありますか)、または DBCP を使用しますか?

3. Web アプリケーションの DCBP パラメーターを変更するにはどうすればよいですか? catalina または hibernate 構成でコンテキスト ファイル conf/catalina/locahost/Applicationame.xml を変更する必要がありますか? 何を変更/追加する必要がありますか?ユーザー名とパスワードを指定するか、パラメータのみを指定しますか?

4.誰かがこれがどのように機能するか、休止状態が接続を要求し、Tomcat がプールから接続を取得するかを説明できますか? c3p0 を指定すると、DBCP はバイパスされますか?

5.同じテーブル/ユーザー名/パスワードを使用する 2 つの Web アプリケーションがある場合はどうなりますか? 彼らが独自の DBCP 、 c3p0 jar を持っている場合、何が徴用されますか? conf/context.xml がすべてのアプリケーションに適用される場合、アプリケーションが使用する DBCP のグローバル パラメータを指定できますか?

これはすべて、mysql の 8 時間の接続タイムアウトに関連しています。DB パラメータを変更したくありません。

0 投票する
1 に答える
1366 参照

tomcat - Tomcat が接続を閉じず、スリープ モードのまま

MySql 5.1 で tomcat 6.0.26 を使用しています。データベースへの接続は、以下のように server.xml で設定されます。

MySql で show full processlist を実行すると、スリープ モードのまま多くの接続が表示されます。何が原因でしょうか?

よろしく、

ロヒット

0 投票する
4 に答える
13236 参照

java - Tomcat エラー: java.sql.SQLException: jdbc:sqlserver:// に適したドライバーが見つかりません

私はTomcatにひどい問題を抱えています.この問題のために、私は1か月以上プロジェクトを放棄しました.それでも、私はまだそれを解決してプロジェクトを続ける必要があります...

だからそれは私にこのエラーを投げています:

java.sql.SQLException: jdbc に適したドライバーが見つかりません:sqlserver://isd.ktu.lt:1433;DatabaseName=LN2012_bakDB2 java.lang.NullPointerException

問題は、同じアプリケーションがデスクトップ バージョンの perfectlz で動作しているということですが、サーバー上で実行されるはずのバージョン (NetBeans 7.1.2 内の Tomcat 7.0.22.0) になると、エラーが発生するだけです。プーリングドライバーをロードしていないようですが、わかりません...

さて、これを担当する部分は次のとおりです。

接続を取得しようとした時点で発生し、接続が正常に取得されないため、null ポインター例外が発生します。

私は Tomcat に詳しくありませんが、この瞬間まで、Netbeans は Tomcat をうまく処理していました... 問題は、このようなエラーが嫌いなことです... 3 日以内に解決しないと、イライラして解決できません。あの頃に戻りたい、壁にぶち当たりそう…ググってみたけどあまり参考にならなかった…だから誰か助けてくれたら嬉しいなこれ。ありがとう。:)

0 投票する
2 に答える
7171 参照

tomcat - Tomcat: データベース接続プールを使用しているスレッドを確認する

Tomcat には、リクエストを高速化するためのデータベース接続プール (DBCP) があります。

私のアプリでは、あまりにも多くの接続が長時間使用されています。リーク (接続が適切に閉じられていない) が疑われ、リークの場所を特定する必要があります。

質問: 接続を使用している各スレッドの名前を見つける方法は?

できればライブ JMX MBean ですが、他のヒントも歓迎します。各スレッドのスタック トレースまたはクラス名を表示することも許容されます。

注: DBCP 設定を表示する MBean を探しているわけではありません。各接続を使用するものを確認したい。

0 投票する
1 に答える
761 参照

jdk1.6 - commons-dbcp-1.2.2をコンパイルするJDKはどれですか?(JDK5 / 6/7の問題)

commons-dbcp-1.2.2をJDK6/7でコンパイルしようとすると、次のエラーが発生します。

org.apache.commons.dbcp.BasicDataSourceは抽象ではなく、java.sql.Wrapperの抽象メソッドisWrapperFor(java.lang.Class)をオーバーライドしません

これは、commons-dbcp-1.2.2が、メソッドjava.sql.WrapperがなかったときにJDK6より前に作成されたためです。isWrapperFor

そこで、JDK5をインストールしましたが、そのようなメッセージが表示されます(おそらく、Java7でコンパイルされたすべてのJARが原因です)。

java.lang.UnsupportedClassVersionError:.classファイルのバージョン番号が正しくありません

この問題を解決する方法は?

0 投票する
1 に答える
2550 参照

jpa - Apache-CommonsDBCPをEclipseLinkJPAおよびTomcat7.xで使用する方法

私は、EclipseLinkJPAを使用して永続層を処理するTomcat7にデプロイされたWebアプリケーションに取り組んできました。

テスト環境ではすべて正常に動作しますが、ファイアウォールが切断されて非アクティブな接続が切断されるため、本番環境で深刻な問題が発生しています。基本的に、接続がしばらく非アクティブである場合、TomcatサーバーとDBサーバーの間にファイアウォールがあり、それを強制終了します。その結果、プールに「古い」接続が残ります。

次にその接続が使用されるとき、「接続がタイムアウトした」SQLException(以下の完全なex.getMessage())を取得するまで、コードは返されません。

EL Fine]:2012-07-13 18:24:39.479--ServerSession(309463268)--Connection(69352859)--Thread(Thread [http-bio-8080-exec-5,5、main])-MY SOに投稿するために置き換えられたクエリ[ELConfig]:2012-07-13 18:40:10.229--ServerSession(309463268)--Connection(69352859)--Thread(Thread [http-bio-8080-exec-5、 5、main])--disconnect [EL Info]:2012-07-13 18:40:10.23--UnitOfWork(1062365884)--Thread(Thread [http-bio-8080-exec-5,5、main]) -トランザクションの外部で読み取りクエリを実行しようとしたときに、通信障害が検出されました。クエリを再試行しています。エラーは次のとおりです:例外[EclipseLink-4002](Eclipse Persistence Services-2.3.0.v20110604-r9504):org.eclipse.persistence.exceptions.DatabaseException内部例外:java.sql.SQLException:Eccezione IO:接続がタイムアウトしました

私はすでにpersistence.xmlでいくつかの構成を試しましたが、ファイアウォール構成にアクセスできないため、これらの方法ではうまくいきませんでした。setCheckConnections()も使用してみました

testOnBorrow、testWhileIdle、およびDBCP Apache Commonsから利用可能なその他の機能を使用して、テストスクリプトで問題を解決することができました。EclipseLink内部接続プールをオーバーライドしてカスタム接続プールを使用する方法を知りたいので、persistence.xmlを使用して内部プールを構成するだけでなく、DBCPに基づいて構成済みのプールを提供できます。

SessionCustomizerを提供する必要があることはわかっていますが、どちらを使用するのが正しいかわかりません。基本的に、JPAのような方法でDBCPのパフォーマンスを維持したいと思います。

私はTomcat7にデプロイしていますが、GFに切り替えてもこの問題は発生しないことはわかっていますが、同じサーバー上の他のWebアプリケーションとの一貫性を保つために、Tomcatを使用したいと思います。

0 投票する
1 に答える
5429 参照

monitoring - Commons DBCPの監視?

私のTomcatの巨大なWebアプリは、DBCP接続を使いすぎて、問題が発生することがあります。
調査するために、どのスレッド/メソッドがプールの接続を保持しているかを各時点で正確に知りたいと思います。リアルタイムである必要はありません。事後分析はOKです。

私は無駄にそのようなDBCP監視ツールを探していたので、私は私のものを書き込もうとしています。
(興味があればオープンソースにすることができます)

これが私の計画です:

  • PoolingDataSource.getConnectionをログに変更するDBCP+1 <thread-id>" "
  • DelegatingConnection.closeをログ" "に変更しますDBCP-1 <thread-id>
  • 視覚化のためにこの単純なCSVを生成する小さなスクリプトを作成します。

DBCPモニタリング

質問:
アイデアを無効にするCommons-DBCP 1.4の概念が欠けていますか?
それとも私は車輪の再発明をしていますか?

0 投票する
1 に答える
1219 参照

java - dbcp 接続プールによる再試行を無効にする

私は commons-dbcp 接続プールを使用しています。Mysql 接続が失われた場合、プールは「あきらめる」前に複数回再試行します。欠点は、戻ってくるまでに時間がかかりすぎることです。それに応じて例外を処理できるように、これらの再試行を無効にする方法が必要です。アプリケーションはスプリングベースです。

0 投票する
0 に答える
1314 参照

hibernate - Hibernate 3.2 と apache dbcp が postgres 接続を食べる

私は単純なエンティティ Bean を持っており、休止状態 3.2.5 を使用してそれを postgres に永続化します。prod は pg 8.4 になりますが、現在は 9.1 で開発しています。私はApache commons dbcp 1.4(およびcommons pool 1.5.4)を使用しています。パブリッククラスDBCPConnectionProviderは、Web http://wiki.apache.org/commons/DBCP/HibernateからgoogledとしてConnectionProviderを実装しています

以前は、dbcp の代わりに c3po と mysql を使用していました。今私は得る

原因: org.hibernate.exception.GenericJDBCException: 接続を開けません

原因: org.postgresql.util.PSQLException: FATAL: 残りの接続スロットは非レプリケーション スーパーユーザー接続用に予約されています

以前に mysql/c3po を使用すると、同様のエラーが発生しました。

現在、persistence.xml のプロパティは次のようになっています。

これを使用すると、dbcp が 5 つの接続を開いたままにし、それらを javacode に再割り当てすることが期待できます。

現在、レコードを挿入するサーブレットがあります。postgresql.conf の max_connections の数 (100) とほぼ同じ数の挿入で成功します。その後、上記のエラーで失敗します。現在、サーブレットは、ループ apx で 350 回実行されるクライアントによって呼び出され、各ループでサーブレット用に格納する行を 1 つポストします。

dbcp または他のプールなしで実行すると、同じ例外が発生します。唯一の変更点は、dbcp ではなく休止状態によってスローされることです。

私は、dbcp が 5 つの接続を割り当てるだけで、ハイバネートして一度に 1 つの接続だけを開いたり閉じたりすることを期待していました。

実際のコードは非常に単純で、基本的に netbeans 6.5 の jpa-generator によって生成されます。

これは、サーブレット (Netbeans によるコード) から呼び出す create-function です。

エンティティ Bean も同様に標準であり、基本的には Netbeans が生成したのと同じであり、問​​題なく動作し、接続の問題がそこにあるとは想像できません。Hibernate が接続プールの構成を無効にし、プールが古い接続を再利用する代わりに新しい接続を開くようにするコード/構成があるようです。ここに手がかりはありますか?