在多线程高并发的情况下,报了异常求大佬帮看看,卡住一周了

新手上路,请多包涵

image.png

`Exception [EclipseLink-2004] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.ConcurrencyException
Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to
commit or rollback a transaction before it was started, or to rollback a transaction twice.

    at org.eclipse.persistence.exceptions.ConcurrencyException.signalAttemptedBeforeWait(ConcurrencyException.java:84)
    at org.eclipse.persistence.internal.helper.ConcurrencyManager.releaseReadLock(ConcurrencyManager.java:468)
    at org.eclipse.persistence.internal.identitymaps.CacheKey.releaseReadLock(CacheKey.java:468)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:1041)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:955)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getAndCloneCacheKeyFromParent(UnitOfWorkIdentityMapAccessor.java:209)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getFromIdentityMap(UnitOfWorkIdentityMapAccessor.java:137)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3942)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3894)
    at org.eclipse.persistence.mappings.CollectionMapping.buildElementUnitOfWorkClone(CollectionMapping.java:308)
    at org.eclipse.persistence.mappings.CollectionMapping.buildElementClone(CollectionMapping.java:321)
    at org.eclipse.persistence.internal.queries.ContainerPolicy.addNextValueFromIteratorInto(ContainerPolicy.java:217)
    at org.eclipse.persistence.mappings.CollectionMapping.buildCloneForPartObject(CollectionMapping.java:223)
    at org.eclipse.persistence.internal.indirection.UnitOfWorkQueryValueHolder.buildCloneFor(UnitOfWorkQueryValueHolder.java:60)
    at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:173)
    at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:234)
    at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:89)
    at org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:252)
    at org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:423)
    at org.eclipse.persistence.indirection.IndirectList.isEmpty(IndirectList.java:498)
    at org.apache.aquila.server.state.cluster.ClusterImpl.loadServices(ClusterImpl.java:412)
    at org.apache.aquila.server.state.cluster.ClusterImpl.loadServiceHostComponents(ClusterImpl.java:348)
    at org.apache.aquila.server.state.cluster.ClusterImpl.getServiceComponentHosts(ClusterImpl.java:861)
    at org.apache.aquila.server.agent.HeartbeatMonitor.generateStatusCommands(HeartbeatMonitor.java:291)
    at org.apache.aquila.server.agent.HeartbeatMonitor.doWork(HeartbeatMonitor.java:216)
    at org.apache.aquila.server.agent.HeartbeatMonitor.run(HeartbeatMonitor.java:126)
    at java.lang.Thread.run(Thread.java:834)`
    
    
阅读 1.7k
1 个回答

日志里说你可能事务没开始就commit/rollback了, 或者commit了两次;
你可以看看, 是不是事务开启没有起作用还是, 事务初始化有什么错误或资源阻碍了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题