問題タブ [jdbc-pool]

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 投票する
3 に答える
32541 参照

java - データベースの再起動後に jdbc プール データソースの再接続を試行します

データベース接続にTomcat jdbc-poolを使用する Java バックエンドを備えた Web アプリがあります。これはうまくいきます。

しかし、私はそれを他の場所にエクスポートする前に誰にでもできるようにしようとしています。最近、誰かが SQL Server データベース サービスを再起動したが、Tomcat サービスを再起動しなかったというシナリオが発生しました。これにより SQLException: java.sql.SQLException: I/O Error: Connection reset by peer: socket write errorTomcat を再起動するまで、jdbc-pool データソースが強制的に再接続されました。

Tomcat jdbc-pool docs で何らかの構成を探して、データソースに再接続を試みるように指示しましたが、何も見つかりませんでした。

これに何らかの構成があるかどうか、または各リクエストの前にこの条件を確認する必要があるかどうかを誰かが知っていますか?

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 投票する
1 に答える
107 参照

java - PoolableConnectionFactoryObjectを作成する理由

したがって、データベースプーリングには、JDBCよりも優れたオプションがあると思いますが、それでも何かが私を夢中にさせています。すべてのサンプルコードで、このようなプーリングを提案しています。

PoolableConnectionFactoryが作成されるのはなぜですか?使用されることはなく、ソースを見ると、コンストラクターで実際に何かを結び付けたり、独自のプライベート変数を設定する以外に魔法のようなことをしたりすることはわかりません。JDBCサイトはそれらの情報でかなり不可解であり、ソースコードを掘り下げるすべてのことで私は混乱しました。これを行う理由はありますか?どうやら、代わりに、実際に変数に割り当てずに、オブジェクトをnewでインスタンス化することもできますが、それで十分です...さらに混乱します。

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

java - 接続プールを備えたPreparedStatementプール

重複の可能性:
dbcpでのプリペアドステートメントプーリング

内部使用のためにTomcatのデータベース接続プールメカニズムを使用するWebアプリケーションを構築しています。アプリケーションがデータをより効率的に取得できるように、プリペアドステートメントもプールしようとしています。

私の理解では、接続、結果セット、およびステートメントが閉じられると、接続はプールに戻されます。適切なフラグが設定されている場合、放棄された接続も閉じられ、プールに戻されます。接続を閉じるということは、すべてのデータベースカーソルと、プリペアドステートメントを含むキャッシュされたステートメントを解放することを意味します。では、プリペアドステートメントプーリングのポイントは何ですか?

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

java - Java Web サービス MYSQL 接続管理

Web サービスでの MySQL 接続に行き詰まっています。

これは、Web サービスでデータベースに接続するために使用しているクラスです。同じ Web サービスで実行されているクォーツのスケジュールされたジョブがいくつかあります。

各 Web サービス メソッド呼び出し、各ジョブ開始時、および最後にブロック CloseConnection() で OpenConnection() メソッドを呼び出します。

しかし、試行中に一度だけ接続を閉じている間、定期的にこのエラーが発生しています-最後にブロックします。

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: ステートメントを閉じた後、操作は許可されません。

私のWebサービスメソッドは次のようになります

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

performance - Increase load and decrease performance while replace DBCP to Tomcat JDBC-pool

After problems with connection leak and deadlocks in DBCP we made a decision to replace it with Tomcat JDBC-pool. Of course migration was really simple.

But after deploy it on a production environment I noticed, that load on a server with running two Tomcats increase from 4-4.5 to 5.5. We didn't do anything more, except change of pool. Moreover, performance measured with JMeter decrease by about 5%.

I spent some time to tune pool parameters, but without visible effects. I pasted my current config (from <GlobalNamingResources> in server.xml) below:

FairQueue and PoolSweeperEnabled are true

In Spring applicationContext-jdbc.xml I have only:

What am I doing wrong? I thought, that JDBC_pool should be faster than DBCP out of the box.

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

tomcat7 - Tomcatjdbc-プールacquireRetryDelay

C3p0キャッシュには、取得試行間の時間を設定するためのacquireRetryDelayパラメーターがあります。
tomcat7 jdbc-poolは同じ機能を持っていますか?

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

jdbc - dbcp は、高いオープン/クローズ率で Oracle DB への膨大な接続数を生成します

私のアプリケーションはDBCP1.4、休止状態、および春を使用し、Oracle に接続します。数百の要求/秒の一般的な負荷の下で、DB への TCP 接続が多すぎます (認証のために DB 側でシステムが過剰に使用され、16 コアのマシンで 95% の CPU が使用されます)。1 秒あたり 80 接続を超える接続では、クライアント側からのリクエストと FIN はほとんど処理されません。各セッションはわずか 15 ~ 20 ミリ秒です。DBCPまたはOracle ドライバーを調整して(どちらがこれを担当しているのかわかりません)、各接続をより長い時間 (少なくとも 5 ~ 10 秒と考えて) 維持したいのですが、どうすればこれを取得できますか? DBCPのプール設定は

春のスレッド実行者の設定は -

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

java - JDBC でトランザクションが進行中かどうかを確認するにはどうすればよいですか?

Connection自動コミットをオフにして JDBC を使用しています。クリーンアップ メソッドで、現在進行中のトランザクションがないことを確認したいのですが、この情報を取得する方法がわかりません。指定された JDBC でトランザクションが進行中かどうかを確認するにはどうすればよいConnectionですか?

アップデート

JDBC にはネイティブに何もありませんが、Tomcat JDBC 接続プールにはインターセプターの概念があり、そのレベルでトランザクションを追跡するように記述できるかどうか疑問に思っています。

0 投票する
3 に答える
3766 参照

java - Java - DBCP vs JNDI?

私は初心者で、簡単な Java Swing アプリケーションをいくつか作成しました。Apache Commons DBCP を使用して接続プールを作成し、データソースにアクセスすることができました。

私は最近、JSP とサーブレットを使用して Java Web ベースのアプリケーションを作成し始めました。JNDI を使用してデータソースにアクセスする方法を学びました。XML ファイルを更新し、InitialContext() と lookup("java:comp/env") を使用します。サーブレット/JSP コンテナーとして Apache Tomcat を使用しています。

1.しかし、DB接続プールはどこに作成されますか?

2. はいの場合、それは JNDI が何らかの方法で DBCP を内部的に使用することを意味しますか?

Swing アプリケーション用の DBCP を作成する必要がある場合、最初に GenericObjectPool のインスタンスを作成し、次に接続ファクトリ オブジェクトを作成し、最後に PoolableConnectionFactory オブジェクトを作成して、接続の取得に使用されるデータソースを作成する必要がありました。