データベース接続にTomcat jdbc-poolを使用するJavaバックエンドを備えたWebアプリがあります。これは正常に動作します。
しかし、私はそれを他の場所にエクスポートする前に簡単に試そうとしており、最近、誰かがSQL Serverデータベースサービスを再起動したがTomcatサービスを再起動しなかったというシナリオが発生しました。これによりSQLExceptionが発生しましたjava.sql.SQLException: I/O Error: Connection reset by peer: socket write error
。Tomcatを再起動してjdbc-poolデータソースを強制的に再接続するまでです。
Tomcat jdbc-pool docsである種の構成を探して、データソースに再接続を試みるように指示しましたが、何も見つかりませんでした。
これに何らかの構成があるか誰かが知っていますか、または各リクエストの前にこの条件をチェックする必要がありますか?
これが問題であるかどうかは100%わかりませんが、http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrencyでtestOnBorrow
、で使用できると記載されていvalidationQuery
ます。
<Resource type="javax.sql.DataSource"
...
testOnBorrow="true"
validationQuery="SELECT 1"
removeAbandoned="true"
/>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加