我在server.But中发布了大约9-10条消息,其中有几条没有发布,successfully.It在log.Please中给出了以下错误,请帮助我解决这个问题。我不明白是程序的哪个部分导致了这个问题
日志-
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)发布于 2016-09-14 19:07:10
正如问题中提到的,寻找任何可能的死锁。您使用的是哪个数据库?它是一个多线程环境吗?
设置Hibernate的以下两个属性
hibernate.order_updates=true
hibernate.order_inserts=true
https://stackoverflow.com/questions/39488258
复制相似问题