sql >> データベース >  >> RDS >> PostgreSQL

tomcat 7 JDBC接続プール-データベースごとに個別のプール?

    さて、私はいくつかの掘り下げを行い、これを自分で理解しました。 (tomcat-usersメーリングリストの多くの親切な人々に感謝します!)

    JB Nizetは正しいです。JavaコードからTomcatデータベース接続プールを作成している場合、インスタンス化する各データソースは、文字通り個別の接続プールを表します。これは私にとって驚きでした。 .NETのバックグラウンドから来ているので、Tomcat接続プールはSqlServer / ADO.NET接続プールのように機能すると思いました。2つの同一の接続文字列を使用して2つのデータベース接続を取得する場合、これらは両方とも同じ接続プールから取得されます。ただし、Tomcatでは、JavaコードからDataSourceオブジェクトをインスタンス化する場合、新しいDataSourceインスタンスはそれぞれまったく新しい接続プールになります。したがって、たとえばJAX-RS Webサービス呼び出し間でこれらの接続プールを永続化する場合は、独自のデータベースプール(DataSource)キャッシュを構築し、それにDataSourceインスタンス(データベースごとに1つ)を配置して保存する必要があります。 JAX-RSがWebサービス呼び出し間で存続するオブジェクト内。これを実行したところ、正常に機能しています。

    ところで、Tomcatデータベース接続プールはSqlServer / ADO.NET接続プールと同様の機能を提供します。データソースインスタンスを作成するには、JNDIリソースを使用する必要があります。 (私の場合、データベースはアプリケーションで動的に作成され、JNDI定義は通常、Tomcatが起動時に読み取る構成ファイルから作成されるため、これはオプションではありません。)




    1. Soundex、Jaro Winkler、およびEdit Distance(UTL_MATCH)を使用したOracleの重複列値の照合

    2. 平均時間へのMySQLクエリ

    3. Oracle DBにペルシア文字を挿入すると、疑問符が表示されます

    4. OracleデータベースからJavaソースコードをエクスポートしようとしています