一覧切断されていないか、正しく切断データベース・コネクション
WARNING [Tomcat JDBC Pool Cleaner[510210701:1481713957404]] org.apache.tomcat.jdbc.pool.ConnectionPool.suspect Connection has been marked suspect, possibly abandoned PooledConnection[[email protected]][67975 ms.]:java.lang.Exception
を取得した後、動的なJavaのWebアプリケーション(Tomcatの8.0.15、Java EEの7のWeb)を使用してい
私はソースコードのどこかでJDBCやHibernate Connectionをデータベースと切断するのを忘れていました。私は何とかそれらをリストしたいと思います。
定期
static
{
try {
Context context = new InitialContext();
dataSource = (DataSource) context.lookup("java:comp/env/jdbc/sqlserv");
} catch (NamingException ex) {
Logger.getLogger(Basisverbindung.class.getName()).log(Level.SEVERE, null, ex);
}
}
は、その仕事をしていませんし、私のhibernate.cfg.xmlでそれは同じだ:私はstackoverflowの通過を見て、私はすでに相談わずか数のエントリを見つけ
<property name="hibernate.connection.datasource">java:comp/env/jdbc/sqlserv</property>
(そして、さえupvoted):
- Tomcat 7 connection pooling error
- WebApp (Tomcat-jdbc) Pooled DB connection throwing abandon exception
- https://dba.stackexchange.com/questions/114759/tomcat7-jdbc-connection-pool-connection-has-been-abandoned
しかし、私は、私は接続を閉じるのを忘れてどこ追跡するためにどのような方法を見つけるしたいと思いますので、問題が解消されないか、しばらくして再び起動します。私のTomcatにはPSIプローブがあり、リクエストにいくつかのエラーが出てきていることを伝えています。 私はそこでリクエストの素敵なリストを見ていますが、どのリクエストが放棄されたのか分かりません。
SQL-Server Management StudioのActivityMonitorはあまり役に立ちません。閉鎖されている(またはそうでなければならない)いくつかのプロセスがリストされています。
この種の問題を分析するにはどうすればよいですか?
私はtomcat-jdbcを使用しており、両方のオプションを設定しています – Qohelet
... 'Connection'または' Statement'オブジェクトが正しく閉じられていない場所でスタックトレースが表示されませんか? –
私は接続の分布を扱う静的クラスを使用しています(私はコードの残りの部分を投稿することができますが、それほど素晴らしいものではありません)。だから、スタックはそのクラスを参照するだけです... – Qohelet