MySqlへのJava接続用のDBCP接続プールの実現

DBCP1.4または1.6に依存するjarパッケージ

ここに画像の説明を挿入

DBCPパラメータの説明

ここに画像の説明を挿入

ここに画像の説明を挿入
ここに画像の説明を挿入

コード

DBToolls.javaファイル

ここに画像の説明を挿入
ここに画像の説明を挿入
テストtest.java
ここに画像の説明を挿入

演算結果

ここに画像の説明を挿入

DBCP2以降が依存するjarパッケージ

ここに画像の説明を挿入

DBCP2構成の詳細な手順

commons-dbcpで使用される接続プールのバージョンアップグレードにより、commons-dbcp2のデータベースプール接続構成も変更されました。具体的なパラメータ構成手順は次のとおりです。

一般的な接続構成

ここに画像の説明を挿入

データソース接続数量構成

ここに画像の説明を挿入
ヒント:高負荷システムでmaxIdle値が非常に低く設定されている場合、新しい接続が作成された直後に閉じられることがあります。これは、アクティブなスレッドが接続を開くスレッドよりも速く接続を閉じるため、アイドル接続の数がmaxIdleよりも大きくなるためです。高負荷システムでのmaxIdleの最も適切な構成値はさまざまですが、デフォルト値が適切な出発点です。

トランザクション属性の構成

ここに画像の説明を挿入

データソース接続ヘルスチェック

ここに画像の説明を挿入
ここに画像の説明を挿入

キャッシュステートメント

ここに画像の説明を挿入
この設定は準備済みステートメントプールにも影響します。接続ごとに使用可能なステートメントプールが作成されると、次の方法で作成された準備済みステートメントがプールされます。

public PreparedStatement prepareStatement(String sql)
public PreparedStatement prepareStatement(String sql、int resultSetType、int resultSetConcurrency)
ヒント-接続が他のステートメントのためにいくつかのリソースを残すことを確認してください。プールされた準備済みステートメントは、カーソルをデータベースに保持する可能性があります。これにより、接続のカーソルが範囲外になり、特にmaxOpenPreparedStatementsの値がデフォルト値(無制限)に設定され、アプリケーションが接続ごとに大きな数を開く場合があります。異なる準備済みステートメント。この問題を回避するには、maxOpenPreparedStatementsを、接続で開くことができるカーソルの最大数よりも小さい値に設定する必要があります。
ここに画像の説明を挿入
アクセスが許可されている場合は、次のコード構造を使用します。
ここに画像の説明を挿入
デフォルト値はfalseであり、これは潜在的に危険な操作であり、不適切な使用は非常に深刻な結果を引き起こす可能性があります。(ガード接続が閉じている場合、基になる接続を閉じるか、引き続き使用します)、ドライバーの一意の拡張機能に直接アクセスする必要がある場合にのみ、注意して使用できます。

注:元の接続を除いて、基になる接続を閉じないでください
ここに画像の説明を挿入

接続リーク回復

ここに画像の説明を挿入

コード

DB2.javaファイル

ここに画像の説明を挿入
ここに画像の説明を挿入
test.javaファイル
ここに画像の説明を挿入

の結果

ここに画像の説明を挿入
インタビュー情報のグループを追加748620413

おすすめ

転載: blog.csdn.net/yueyunyin/article/details/102485910