ハイバネートを使用してデータをテーブルに挿入するアプリケーションがあります。データベースは SQL サーバーです。アプリケーション自体は Tomcat 6 にデプロイされています。データを DB テーブルに挿入するには、Tomcat 接続プールの最小構成 (MaxActive=150、maxIdle =10 など) で BasicDataSource を使用しています。
今の問題は、アプリケーションに並行性を追加したいということです。その過程で、DB 挿入を実行する dao レベルのメソッドを呼び出すビジネス層メソッドへの同時呼び出しを行っています。これにより、以下のエラーが発生します。
Exception occurred java.util.concurrent.ExecutionException: org.hibernate.HibernateException:
Illegal attempt to associate a collection with two open sessions
データベースを監視すると、複数のスレッドが作成されていますが、閉じられていません。
これをデバッグ/修正するためにさらに進む方法がわかりません。どんなポインタも役に立ちます。