Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate JavaEE7 TransactionReaper::删除大型数据集时检查发送超时_Hibernate_Jpa_Java Ee 7 - Fatal编程技术网

Hibernate JavaEE7 TransactionReaper::删除大型数据集时检查发送超时

Hibernate JavaEE7 TransactionReaper::删除大型数据集时检查发送超时,hibernate,jpa,java-ee-7,Hibernate,Jpa,Java Ee 7,当我尝试删除一个大数据集(每个实体都有集合集合)时,我总是在一定时间后得到事务回滚 在回滚发生之前,我在服务器控制台上收到以下警告: 2015-12-08 16:39:15,143 INFO [stdout] (EE-ManagedExecutorService-default-Thread-6) Remove ticket 18979 2015-12-08 16:39:15,500 INFO [stdout] (EE-ManagedExecutorService-default-Threa

当我尝试删除一个大数据集(每个实体都有集合集合)时,我总是在一定时间后得到事务回滚

在回滚发生之前,我在服务器控制台上收到以下警告:

2015-12-08 16:39:15,143 INFO  [stdout] (EE-ManagedExecutorService-default-Thread-6) Remove ticket 18979
2015-12-08 16:39:15,500 INFO  [stdout] (EE-ManagedExecutorService-default-Thread-6) Remove ticket 18982
2015-12-08 16:39:16,149 INFO  [stdout] (EE-ManagedExecutorService-default-Thread-6) Remove ticket 18986

2015-12-08 16:39:17,567 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff55d63658:62b71159:5666952b:6abd in state  RUN
2015-12-08 16:39:17,569 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff55d63658:62b71159:5666952b:6abd invoked while multiple threads active within it.
2015-12-08 16:39:17,569 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff55d63658:62b71159:5666952b:6abd aborting with 1 threads active!
2015-12-08 16:39:17,910 WARN  [org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorTrackingImpl] (Transaction Reaper Worker 0) HHH000451: Transaction afterCompletion called by a background thread; delaying afterCompletion processing until the original thread can handle it. [status=4]
2015-12-08 16:39:17,911 WARN  [org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory] (Transaction Reaper Worker 0) IJ030020: Detected queued threads during cleanup from: Transaction Reaper Worker 0: java.lang.Throwable: Detected queued threads during cleanup from: Transaction Reaper Worker 0
        at java.lang.Thread.getStackTrace(Thread.java:1552)
        at org.jboss.jca.adapters.jdbc.SecurityActions.getStackTrace(SecurityActions.java:81)
        at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.cleanup(BaseWrapperManagedConnection.java:302)
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.returnConnection(SemaphoreArrayListManagedConnectionPool.java:692)
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.returnConnection(SemaphoreArrayListManagedConnectionPool.java:646)
        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.returnConnection(AbstractPool.java:852)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.returnManagedConnection(AbstractConnectionManager.java:681)
        at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener$TransactionSynchronization.afterCompletion(TxConnectionListener.java:1199)
        at org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer.invokeAfter(TransactionSynchronizer.java:459)
        at org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer.afterCompletion(TransactionSynchronizer.java:395)
        at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.afterCompletion(JCAOrderedLastSynchronizationList.java:163)
        at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96)
        at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:545)
        at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:476)
        at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.cancel(TwoPhaseCoordinator.java:130)
        at com.arjuna.ats.arjuna.AtomicAction.cancel(AtomicAction.java:215)
        at com.arjuna.ats.arjuna.coordinator.TransactionReaper.doCancellations(TransactionReaper.java:381)
        at com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:78)
我在Wildfly 9.0.2上使用JavaEE7和JPA,在MySQL服务器上使用Hibernate

一般来说,删除每个实体的速度非常慢(因为每个实体的树都很深),但我真的很想利用JPA的强大功能,而不是编写自己的查询来处理所有麻烦的子级删除

调用移除操作的bean是无状态的。请求本身来自REST调用

有人能帮忙吗


编辑:删除调用在ExecutorManagedService线程内完成。

显然有人决定配置事务超时值(这不一定是个坏主意)。检查服务器设置:这与wildfly相同吗?我不想全局更改TA超时,因为这会影响我的所有事务。此外,我不知道我的长期任务需要多长时间才能完成。可能是一个小时,也可能是一天。我不知道该怎么回答这个问题。Wildfly中的内容相同吗?该链接显示了Glassfish的设置。我用的是WF。关键是,我不想将所有事务的全局超时设置为超过一天。我的单个任务可能需要一天,但我所有的其他任务都不到5分钟。。。。哇,对不起。我不知道我怎么会误读得这么严重。使用bean管理的事务,您对特定事务的超时有更细粒度的控制,因此您可以考虑使用它来完成日常工作。或者,如果不需要原子性,可以将长时间运行的事务拆分为多批短事务,例如,每个事务处理5000条记录。显然,有人决定配置事务超时值(这不一定是个坏主意)。检查服务器设置:这与wildfly相同吗?我不想全局更改TA超时,因为这会影响我的所有事务。此外,我不知道我的长期任务需要多长时间才能完成。可能是一个小时,也可能是一天。我不知道该怎么回答这个问题。Wildfly中的内容相同吗?该链接显示了Glassfish的设置。我用的是WF。关键是,我不想将所有事务的全局超时设置为超过一天。我的单个任务可能需要一天,但我所有的其他任务都不到5分钟。。。。哇,对不起。我不知道我怎么会误读得这么严重。使用bean管理的事务,您对特定事务的超时有更细粒度的控制,因此您可以考虑使用它来完成日常工作。或者,如果不需要原子性,可以将长时间运行的事务拆分为多批短事务,例如,每个事务处理5000条记录。