問題タブ [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.
java - Java-TomcatJDBC接続プールの使用中にアクティブな接続の数を取得します
Apache DBCPには、アクティブな接続の数を取得するためのメソッドgetMaxActive()があります。TomcatJDBC接続プールを使用しようとしています。データソースを作成し、それを使用してクエリを実行することはできますが、コンソールに出力して、プールで使用されているアクティブな接続の数を確認したいと思います。
Tomcat JDBC接続プーリングを使用しているときにこれを行う方法はありますか?
tomcat - JdbcInterceptorでの接続の最初の使用の検出
Tomcat jdbc-pool用のJdbcInterceptorを作成しているときに、接続がプールから借用されるたびに呼び出されるメソッドreset(ConnectionPool parent、PooledConnection con)をオーバーライドできます。
特定の基になる接続がプールから借用されるのがこれが初めてかどうかを検出する方法はありますか?
インターセプターに何かをコーディングして「記憶」し、毎回これをチェックすることはできますが、PooledConnectionにチェックできるプロパティのタイプがあるかどうか疑問に思います。isInitialized()を試しましたが、reset()メソッドでは常に当てはまります。
http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#Interceptors
java - 未知のスレッドの問題により、非同期の Spring コントローラー メソッドでデータベース接続がリークする
データベースからデータを取得するためにエンティティ マネージャーを使用する Spring サービス メソッドを呼び出す非同期 Spring MVC コントローラー メソッド (DeferredResult を返す) があります。
どういうわけか、非同期コントローラー メソッドにより、接続がリーク/放棄されます。完全なスタックトレースは次のとおりです。
Thread.currentThread().getName();呼び出しでログに記録したため、コントローラーとサービスのメソッドが同じスレッドで実行されることは確かです。上記の場合、スレッドはhttp-bio-8080-exec-2です。
リーク/放棄された接続の原因を特定できないのは...
誰でも助けてもらえますか?
編集 1 : 関連する Spring 構成は次のとおりです。
編集2:
MessageServiceImpl では:
関連する側面:
サービス中 aj:
リポジトリ aj で:
google-app-engine - GAE: java.sql.SQLException: 一時的なエラーです。もう一度お試しください
db.DbTransaction getConnection: null
Google Cloud SQL のインスタンスを再起動すると解決しました。その背後にある理由と、どうすれば解決できますか。このアプリケーションでは、サーブレット ベースの接続プーリングを使用しました。例外の原因が接続プールに関連しているか、 App Engine インスタンスに関連する問題があるかに関係なく、Google Cloud SQL への同時接続は 30 を超えてはならないため、リークにより最終的に新しい接続が失敗します( https://developers. google.com/appengine/docs/java/cloud-sql/ )。
tomcat - dbcp プーリングを使用する tomcat webapp - プール スレッドは無料ですが、http-bio スレッドはそれを認識できません
親愛なるみんな!
Tomcat Web アプリケーションが奇妙な状況で失敗することがあります (スレッド ダンプを正しく解釈した場合)。Tomcat コンテキスト プール構成に 100 個のプール スレッドがあり、thread-dump 内の 100 個のスレッドはすべて次のようになります。
私の知る限り、それは無料で問題ないことを意味しますが、すべての http スレッドは次のように見えます
私の知る限り、プールから接続を取得できないことを意味します。私は私の提案に正しいですか、なぜプールからの奇妙な振る舞いはありますか?