2009-03-19 11 views
2

私たちは、Sunアプリサーバーエンタープライズ版8.1でホストされていた私たちのstruts Webアプリケーションに奇妙なことがあることに気付きました。jdbc接続プールの共有可能な接続と共有できない接続の違い?

JDBCリソースの監視用のNumConnUsedは、ユーザー操作が比較的非常に少ないにもかかわらず、接続に対して100にとどまります。

私は、アプリケーションが共有可能な接続を閉じると、接続が本当に閉じていない、またそれは、自由プールに戻され、」いくつかの研究をしようと、以下のリンク http://j2ee-performance.blogspot.com/ http://www.ibm.com/developerworks/websphere/library/techarticles/0506_johnsen/0506_johnsen.html

を見つけました。むしろ、それは共有接続プールに残り、同じリソースへの接続のために同じLTC内の別の要求の準備ができています。

私のweb.xmlリソースのrefスコープが共有可能に設定されている場合、アプリケーション側が接続しているときに共有共有プールに残っているため、numconnusedは常に非常に高いことは真実ですか?

答えて

3

リンクを私自身の特別な方法(;)で解釈すると、共有対非共有接続は同じページ内の異なる接続に基づいています。

java.sql.Connection connectionOne = DriverManager.getConnection(...); 
... 
java.sql.Connection connectionTwo = DriverManager.getConnection(...); 

これら二つは、一目で、個別のように見える - しかし、あなたのASが共有可能な接続に設定されている場合、二つ目は、代わりに新しい接続を返すの最初の接続へのポインタを使用して作成されます。ページが終了すると、接続はプールに戻されます。

ASは、パフォーマンスを向上させるために接続をプールに保持している可能性があります。

これは事実ではなく、私自身のリンクの反復だけです。