【发布时间】:2013-09-29 20:28:45
【问题描述】:
我有一个使用休眠将数据惰性化到表中的应用程序。 数据库是 SQL 服务器。应用程序本身部署在 Tomcat 6 中。 将数据插入 DB 表 - 我使用 BasicDataSource 和 tomcat 连接池的最低配置(如 MaxActive=150,maxIdle =10....)
现在的问题是 - 我想向应用程序添加并发性。在此过程中 - 我正在对业务层方法进行并发调用,该方法调用执行数据库插入的 dao 级别方法。这导致以下错误:
Exception occurred java.util.concurrent.ExecutionException: org.hibernate.HibernateException:
Illegal attempt to associate a collection with two open sessions
当我监控数据库时,我看到正在创建多个线程但没有关闭。
我不确定如何进一步调试/修复此问题。任何指针都会有所帮助。
【问题讨论】:
-
首先阅读堆栈跟踪,并了解您在堆栈跟踪中出现的代码中所做的事情。您的代码中存在错误。
-
如何管理事务和数据库连接?
标签: database hibernate concurrency insert tomcat6