我正在使用hibernate将对象放入数据库。 DB是MYSQL社区版。 整个更新运行到事务中。数据库更新 - 长时间运行操作失败
,做它是这样做的代码:
getHibernateTemplate()saveOrUpdate(顺序);
有没有问题,当订单虽小,但是当我测试了密切的情况下,以1个000 000项目我就遇到了这个问题:
[email protected]:56:48 DEBUG PersistOrderServiceImpl [flow.ottoImportOrderPlacementInboundFlow.1] - saving order instance::
[Order [orderId=080661, vatOrderNumber=SODE000001, orderDate=Tue Nov 08 10:12:37 CET 2011, shippingMethod=STANDARD, ....
[email protected]:02:12 ERROR JDBCTransaction [flow.ottoImportOrderPlacementInboundFlow.1] - JDBC rollback failed
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
.....
....
[email protected]:02:12 ERROR TransactionInterceptor [flow.ottoImportOrderPlacementInboundFlow.1] - Application exception overridden by rollback exception
java.lang.NullPointerException
at com.mysql.jdbc.Field.setConnection(Field.java:972)
at com.mysql.jdbc.StatementImpl.getGeneratedKeysInternal(StatementImpl.java:1912)
at com.mysql.jdbc.StatementImpl.getGeneratedKeysInternal(StatementImpl.java:1905)
at com.mysql.jdbc.StatementImpl.getGeneratedKeys(StatementImpl.java:1885)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.getGeneratedKeys(NewProxyPreparedStatement.java:1749)
at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:97)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
......
......
看来这个问题后表现总共大约5分24秒或324秒。
我在MySQL日志中找不到任何关于它的东西。
看来它没有记忆相关,因为当我降低内存的例外情况是不同的:
java.lang.OutOfMemoryError: GC overhead limit exceeded
我不知道这是否是在MySQL的休眠某种错误的,或者是一些设置限制了更新/连接/事务可以运行的时间。
我在MySQL文档或Hibernate设置中找不到任何相关内容。
我希望有任何帮助调试或解决此问题。
已解决:问题出在我的tomcat lib中的文件c3p0.properties中。它包含:c3p0.unreturnedConnectionTimeout = 300或多或少的时间后,我得到的错误。我删除它后更新通过,没有问题。
所以你正在创建1mil的订单对象,并坚持使用休眠?你可以发布休眠保存代码吗? –
不,我正在用1密尔的物品创造一个订单。将代码发布到该问题。 –