Sybaseデータベースに接続するJavaアプリケーションがあります。ログデータベースの接続がハングアップ
アプリケーションレベルで、ハングしているデータベース接続をログに記録します。
これが可能であるかどうかはわかりませんが、もしそうなら、私にこの問題を助けてください。
Sybaseデータベースに接続するJavaアプリケーションがあります。ログデータベースの接続がハングアップ
アプリケーションレベルで、ハングしているデータベース接続をログに記録します。
これが可能であるかどうかはわかりませんが、もしそうなら、私にこの問題を助けてください。
実際に接続が「ハング」すると、しばしばデッドロックになります。データベースは、これらの問題を詳細に診断し記録するのに最適な場所です。
しかし、MS SQL Serverドライバは、デッドロックの被害者が選択された後にかなり特殊な例外がスローされることは知っていますが、Javaの経験が限られています。アプリケーションからその例外をトラップすることができます。一般的な例外であっても、スタックトレースまたは記述を調べて、ロックの問題に関係しているかどうかを確認することができます。
This postには、Java/SybaseのLockAcquisitionException
が記載されています。
これは良いアイデアであり、私が信じている問題の大部分を解決します(私が知っていることから、誰かが私を訂正できる場合は、他の理由もあります。 LockAcquisitionExceptionは実際にはHibernateの例外です.Hibernateや任意のORMを使用してデータベースに接続するのではなく、JDBCとSpringのJDBC抽象化フレームワークだけです。しかし、私はSQLExceptionのコードに基づいて私のアプリケーションでデッドロックの実行を捕まえることができます。どうもありがとう! – Alina
別の「ハング」可能性は、最適化されていないデータベースかもしれません。 –
「データベース接続がハングするときにログする」または「データベース接続がタイムアウトするとログに記録する」という意味ですか? –
実際には、データベース接続がハングするときです... – Alina
@Alinaハングアップするとどういう意味ですか、特定の値を指定してください。 –