Struts2.2.1.1とHibernate3.6.2.Finalを使用しています。また、Tomcat7.0.11で実行されている接続プールにC3P0を使用しています。
Hibernateセッションが閉じられず、「hibernate.c3p0.max_size」プロパティで構成されている開いている接続の最大数をすぐに超えてしまうという問題があります。
これは、Hibernateセッションが開いているが、閉じられていないためだと思います。ServletContextに保存されているSessionFactoryからセッションを開いています。Actionクラスのfinally{}ブロックでセッションを閉じようとしましたが、org.hibernate.LazyInitializationException例外がスローされます。
調査を行ったところ、FullHibernatePluginアプローチとOpenSessioninViewアプローチが見つかりました。
これは一般的な問題だと思いますが、最も一般的に使用されている解決策の感触をつかみたいと思います。
私が気付いたもう1つのことは、FullHibernateプラグインがStruts2.0.9+から2.1.6をサポートしていることですが、私は2.2.1.1を使用しています。これが問題になるのか、それともWebサイトが新しいバージョンをリストするように更新されていないのかわからない。
どんな入力でも大歓迎です。