org.hibernate.exception.LockAcquisitionException:无法插入

时间:2016-09-14 10:34:42

标签: java eclipse hibernate jboss

我在服务器上发布了大约9-10条消息。但是其中一些消息没有成功发布。它在log中给出了以下错误。请帮助我。我没有得到程序的哪一部分给出了这个问题

日志 -

 ERROR [org.hibernate.util.JDBCExceptionReporter] (WorkManager(2)-4) Transaction (Process ID 112) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.


2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:76)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:62)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at sun.reflect.GeneratedMethodAccessor1065.invoke(Unknown Source)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at java.lang.reflect.Method.invoke(Method.java:597)

2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)

2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_386555905.invoke(InvocationContextInterceptor_z_fillMethod_386555905.java)

2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_386555905.invoke(InvocationContextInterceptor_z_setup_386555905.java)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)

***2016-08-02 17:25:22,449 ERROR [com.rt1.ejb.dao.DataHandler] (WorkManager(2)-4) insertHistory(HistoryBean historyBean)org.hibernate.exception.LockAcquisitionException: could not insert: 
some entity name***

2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)

2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)

2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
2016-08-02 17:25:22,449 ERROR [STDERR] (WorkManager(2)-31)  at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:194)

1 个答案:

答案 0 :(得分:0)

在问题中提到寻找任何可能的死锁。您使用的是哪个数据库?它是一个多线程环境吗?

设置Hibernate的两个属性

hibernate.order_updates =真

hibernate.order_inserts = true