私はこれらの質問をしてきた- DB接続プールを選択し、すべてが重要なプールされたDB接続とjavaの-スタンドアロンアプリケーションのDataSource -なしアプリケーションサーバー
そしてそれらは私の好奇心に答えません。
私が持っているのはスタンドアロンのマルチスレッドJavaアプリケーションで、オフまたは低ロードウィンドウでDBへのデータロードを実行することになっていますが、限られた時間内に完了するのに十分な速度である必要があります。
Javaスレッドの数は構成可能ですが、最大数に制限されています。
DB接続に関する限り、私は現在、スレッドごとに新しい接続を取得し、そのスレッドが完了するとそれを閉じています。サードパーティのDB接続プールを使用しない理由は、
1.最大Javaスレッドの数は固定制限に制限されており、その制限はDB(そのDB2データベース)によって管理可能です。
2. DBプールからの接続の不要な待機を回避し、複数のスレッド間の衝突または待機時間を回避します(プール内に空き接続がない場合)
したがって、私のシナリオでは、DB接続プールが本当に必要になるのでしょうか、それとも長期的には問題に直面するのでしょうか、それとも機能を備えているだけでいいのでしょうか。
リクエスト/スレッドの数が事前にわからないため、接続プールはWebアプリの場合に意味がありますが、最大スレッド数が固定されたスタンドアロンアプリの利点についてはわかりません。
必要に応じてC3P0接続プールを使用することを考えています。
接続プールを使用すると、接続プールを使用しない場合に比べていくつかの利点があります。
単純に(C3P0と私はあなただけ信じるあなたの上記データベースの制限に合わせて、あなたのプール内の接続の最大数を制限し、プールを確認してくださいあなたの接続を返すように自分で包まれているが、)。close
Connection
PooledConnection
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加