有哪位大侠看到类似如下的问题,请教下2009-12-27 20:25:55 ERROR [Thread-43586] (JDBCExceptionReporter.java:78) - ORA-00060: deadlock detected while waiting for resource2009-12-27 20:25:55 ERROR [Thread-43586] (AbstractFlushingEventListener.java:301) - Could not synchronize database state with session
org.hibernate.exception.LockAcquisitionException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:87)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2375)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2257)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2557)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)
at com.bee.appserver.common.dao.BaseDaoImpl.find(BaseDaoImpl.java:68)
at com.bee.appserver.vpg.service.impl.AssetServiceImpl.getMovieIdByAssetId(AssetServiceImpl.java:743)
at com.bee.appserver.vpg.service.impl.AssetServiceImpl$$FastClassByCGLIB$$607c7b36.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
?40626
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
at com.bee.appserver.vpg.service.impl.SynFailedAssetHandlerImpl$$EnhancerByCGLIB$$3c6aacd9.synFailedAssetHandle(<generated>)
at com.bee.appserver.isa.util.SynFailedAssetThreader.run(SynFailedAssetThreader.java:29)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.BatchUpdateException: ORA-00060: deadlock detected while waiting for resource at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10768)
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:620)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java:34)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2353)
... 50 more
2009-12-27 20:24:40 ERROR [Thread-43586] (VPGServiceImpl.java:683) - [M3P->App]publish movie failed,assetId=10216872,error:could not update: [com.bee.appserver.vpg.entity.Movie#40626]; nested exception is org.hibernate.exception.LockAcquisitionException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]
org.springframework.dao.CannotAcquireLockException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]; nested exception is org.hibernate.exception.LockAcquisitionException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]
Caused by:
org.hibernate.exception.LockAcquisitionException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:87)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2375)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2257)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2557)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)
at com.bee.appserver.common.dao.BaseDaoImpl.find(BaseDaoImpl.java:68)
at com.bee.appserver.vpg.service.impl.AssetServiceImpl.getMovieIdByAssetId(AssetServiceImpl.java:743)
at com.bee.appserver.vpg.service.impl.AssetServiceImpl$$FastClassByCGLIB$$607c7b36.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
?40626
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
at com.bee.appserver.vpg.service.impl.SynFailedAssetHandlerImpl$$EnhancerByCGLIB$$3c6aacd9.synFailedAssetHandle(<generated>)
at com.bee.appserver.isa.util.SynFailedAssetThreader.run(SynFailedAssetThreader.java:29)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.BatchUpdateException: ORA-00060: deadlock detected while waiting for resource at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10768)
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:620)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
... 54 more
2009-12-27 20:24:40 WARN [Thread-43586] (JDBCExceptionReporter.java:77) - SQL Error: 60, SQLState: 61000
org.hibernate.exception.LockAcquisitionException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:87)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2375)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2257)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2557)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)
at com.bee.appserver.common.dao.BaseDaoImpl.find(BaseDaoImpl.java:68)
at com.bee.appserver.vpg.service.impl.AssetServiceImpl.getMovieIdByAssetId(AssetServiceImpl.java:743)
at com.bee.appserver.vpg.service.impl.AssetServiceImpl$$FastClassByCGLIB$$607c7b36.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
?40626
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
at com.bee.appserver.vpg.service.impl.SynFailedAssetHandlerImpl$$EnhancerByCGLIB$$3c6aacd9.synFailedAssetHandle(<generated>)
at com.bee.appserver.isa.util.SynFailedAssetThreader.run(SynFailedAssetThreader.java:29)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.BatchUpdateException: ORA-00060: deadlock detected while waiting for resource at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10768)
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:620)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java:34)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2353)
... 50 more
2009-12-27 20:24:40 ERROR [Thread-43586] (VPGServiceImpl.java:683) - [M3P->App]publish movie failed,assetId=10216872,error:could not update: [com.bee.appserver.vpg.entity.Movie#40626]; nested exception is org.hibernate.exception.LockAcquisitionException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]
org.springframework.dao.CannotAcquireLockException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]; nested exception is org.hibernate.exception.LockAcquisitionException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]
Caused by:
org.hibernate.exception.LockAcquisitionException: could not update: [com.bee.appserver.vpg.entity.Movie#40626]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:87)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2375)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2257)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2557)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)
at com.bee.appserver.common.dao.BaseDaoImpl.find(BaseDaoImpl.java:68)
at com.bee.appserver.vpg.service.impl.AssetServiceImpl.getMovieIdByAssetId(AssetServiceImpl.java:743)
at com.bee.appserver.vpg.service.impl.AssetServiceImpl$$FastClassByCGLIB$$607c7b36.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
?40626
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
at com.bee.appserver.vpg.service.impl.SynFailedAssetHandlerImpl$$EnhancerByCGLIB$$3c6aacd9.synFailedAssetHandle(<generated>)
at com.bee.appserver.isa.util.SynFailedAssetThreader.run(SynFailedAssetThreader.java:29)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.BatchUpdateException: ORA-00060: deadlock detected while waiting for resource at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10768)
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:620)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
... 54 more
2009-12-27 20:24:40 WARN [Thread-43586] (JDBCExceptionReporter.java:77) - SQL Error: 60, SQLState: 61000
解决方案 »
- java能用流作为方法参数吗?
- 帮帮忙解决Could not initialize class org.apache.commons.beanutils.BeanUtils
- java题求解
- 谁帮我解决下编译的问题
- 用例图的合并问题,急啊!!!!
- 现求hibernate中多表查询语句?
- Sun java System Application server 下载地址
- 关于weblogic的问题
- 欢迎大家下载我的软件,下载者有分.
- 急急急-----哪位大虾在EJB上实现过大字段(BLOB)存取
- 虚心请教热心高手 错在哪里啊?
- 请大家赐教 : 怎么才能撤销一个提交到Java BUGDatabase的BUG呢?
extends SQLException
进行批量更新操作期间发生错误时抛出的 SQLException 子类。
除了 SQLException 提供的信息以外,BatchUpdateException 还提供批量更新期间成功执行的所有命令的更新计数,也就是发生错误之前执行的所有命令的更新计数。更新计数数组中元素的顺序对应于将命令添加到批处理中的顺序。 批量更新中的命令无法正确执行并抛出 BatchUpdateException 之后,驱动程序可以继续处理批处理中的剩余命令,也可以不再进行处理。如果驱动程序在失败后继续进行处理,那么批处理的每个命令在 BatchUpdateException.getUpdateCounts 方法返回的数组中都有一个对应的元素,而不仅仅是发生错误前成功执行的命令才有对应的元素。在驱动程序继续处理命令的情况下,所有执行失败的命令对应的数组元素都是 Statement.EXECUTE_FAILED。
更具体的就不清楚了
org.hibernate.exception.LockAcquisitionException: could not update:
[com.bee.appserver.vpg.entity.Movie#40626]
oracle 数据库出现死锁!!!你的某个session(即数据库连接)在操作表Movie时,没有提交,而该连接非正常断开(或没有commit/rollback就断开),导致Movie对应的表被锁住,另外的session(即数据库连接)试图对该Movie对应的表进行DML时就会报资源正忙无法锁定的错误!
楼主好好检查下代码!或者,在toad/plsqldev里面看看锁住Movie对应的表的到底是哪个session或哪个sql,然后相应的找原因。结帖给分吧!数据库死锁。