Hibernate 无法增加Grails事务(MyBatis)的超时
使用MyBatis在Grails中执行长时间运行的事务时,我遇到数据库超时:Hibernate 无法增加Grails事务(MyBatis)的超时,hibernate,grails,mybatis,Hibernate,Grails,Mybatis,使用MyBatis在Grails中执行长时间运行的事务时,我遇到数据库超时:java.sql.SQLException:连接已关闭。 改进保存过程是不可行的,它通过调用batisGateway.operation(params)中描述的存储过程来逐行保存所有内容,多达1000次,一段时间后开始缓慢运行,可能需要45分钟。然而,我在大约30分钟后得到超时,这使我相信Grails/MyBatis/Hibernate中设置了一些超时,我需要覆盖它们 我尝试使用newTransaction([time
java.sql.SQLException:连接已关闭。
改进保存过程是不可行的,它通过调用batisGateway.operation(params)
中描述的存储过程来逐行保存所有内容,多达1000次,一段时间后开始缓慢运行,可能需要45分钟。然而,我在大约30分钟后得到超时,这使我相信Grails/MyBatis/Hibernate中设置了一些超时,我需要覆盖它们
- 我尝试使用newTransaction([timeout:3600]){…}向
添加超时-没有效果
- 我在
和DataSource.groovy
中尝试了各种参数-没有效果Bootstrap.groovy
- 我尝试手动打开会话和事务,如:
但仍然没有效果StatelessSession session = sessionFactory.openStatelessSession() Transaction transaction = session.getTransaction() transaction.setTimeout(4800) transaction.begin() ...
我的数据库允许无限的超时,所以问题很可能不存在。还有什么我可以尝试的吗?这是因为连接由于某种原因被取消了。见: