問題タブ [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.
java - DBCP:removeAbandoned VS eviction
removeAbandonedとevictionの違いがわかりません。removeAbandonedが非推奨になったことをどこかで読みましたが、公式ドキュメント(http://commons.apache.org/dbcp/configuration.html)のどこにも言及されていません。
だから、誰かが私を啓発することができれば、それは大いにありがたいです:)
ありがとう!
java - コンソールの DBCL メッセージ
次のプロパティでデータベース接続プールを作成しています。
上記の Bean をインスタンス化しようとすると、STDOUT で次のメッセージが表示されます。これらを抑制する方法はありますか?
oracle - Tomcat:DBCPをOracleConnectionPoolDataSourceに置き換えます
数日後、TomcatのdbcpをOracleの接続プールに置き換えようとしています。WebアプリケーションはいくつかのOracle固有の機能を使用するため、これは必須です。
現在、JNDIデータソースは次のように構成されています。
プールから接続を取得しても、タイプはorg.apache.commons.dbcp.PoolingDataSource.PoolGuardConnectionWrapperのままです。
誰かが私にヒントを与えることができます、ここで何が問題になっていますか?
前もって感謝します、
マーカス
java - DBCP - マルチスレッドをサポートしていますか?
http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.htmlのような多くの場所で、dbcp がマルチスレッド化されておらず、遅いなどのことがわかります。
しかし、彼らは昨年、新しいバージョンをリリースしました。上記の既知の問題が解決されているかどうかを知っている人はいますか?
現在 c3p0 を使用していますが、場合によっては問題が発生することがあります (たとえば、最大接続プール サイズを 300 に設定して 10 スレッドを実行すると、数分以内に 300 接続のほとんどすべてが開いていることがわかります...)。
ありがとう、
ヤイル
java - 接続をプールに戻す方法
完了後に接続を返すために、dbcp.BasicDataSource または jndi データソース (jboss を使用しています) でメソッドを呼び出す必要がありますか?
hibernate - 接続プールの例外: 接続を取得できません。プール エラー アイドル オブジェクトの待機中にタイムアウトが発生しました
本番環境で Web アプリケーションを実行していますが、最近、負荷がかかった後にクラッシュしました。100 人から 300 人が同じ時間帯にサイトにアクセスしていると思いますが、これは問題なく動作すると予想されます。
クラッシュ時のログは次のとおりです。
これは、接続プールに影響を与える最近 Grails プロジェクトに追加したいくつかのコードに直接関連していると思います (ただし、これは grails 固有の問題ではないと思います)。
私は何を間違っていますか?助けてください!ありがとうございました。
java - DBCPは閉じた接続を返します
org.apache.commons.dbcp.BasicDataSource
からのデータベース接続がソケット書き込みエラーで停止している状況が発生しています。
もちろん、その後の接続への書き込みはすべて失敗します。
このような例外をキャッチし、発生時に新しい接続を要求するようにコードを更新した後、再び失敗しました。呼び出しDataSource#getConnection()
が呼び出されるたびに実際に新しい接続を提供していないのではないかと疑うのは正しいですか?閉じている既存の接続を再利用するだけではありませんか?
私が正しければ、古い接続を破棄して新しい接続を要求する正しい方法は何ですか?
編集:これが私が知りたいことのより簡潔なバージョンです:
「c1==c2」は本当のステートメントですか?または、2つの接続が割り当てられていますか?後者の場合、次のようなコードは「接続プールのリーク」を表します。
java - 同じ接続を使用するDBCPプール?
JMetricを使用してDBCPプールをテストしています。20スレッドで1つのテストを使用すると、1つの接続からステートメントを作成しようとするとnullPointerExceptionが発生します。
私のコンテキストにはこのconfがあります:
接続を取得していくつかの選択を実行するフィルターが1つあります。ロジックを再利用して接続を取得するために、1つの静的メソッドを作成します。
そして私のフィルター:
NullPointerExceptionを受け取るために、DataSourceからのgetConnection()がまだ使用中の1つの接続を取得していると思います。
プールから接続を取得するための静的同期メソッドが1つある問題はありますか?
NullPointerException:
編集:私は今tomcat-jdbcを試しています。彼は開いた接続をより適切に処理しているようですが、同時ユーザーでは失敗します(同じNullPointerExceptionまたは場合によってはjava.sql.SQLException:接続はすでに閉じられています)。
java - Java で Apache Commons DBCP プールを適切に破棄するにはどうすればよいですか?
PoolingDataSource を接続プール ( http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/PoolingDataSource.htmlの API ) として使用したいのですが、何をすればよいかわかりません。必要がなくなったら、プールを使用してください。新しいデータベースに接続したいが、古いプールの接続がもう必要ない場合はどうすればよいですか? プールには close メソッドはありません。