我在服务器上发布了大约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)
答案 0 :(得分:0)
在问题中提到寻找任何可能的死锁。您使用的是哪个数据库?它是一个多线程环境吗?
设置Hibernate的两个属性
hibernate.order_updates =真
hibernate.order_inserts = true