Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
Java 获取事务已在另一个线程异常中回滚_Java_Postgresql_Hibernate_Wildfly 10 - Fatal编程技术网

Java 获取事务已在另一个线程异常中回滚

Java 获取事务已在另一个线程异常中回滚,java,postgresql,hibernate,wildfly-10,Java,Postgresql,Hibernate,Wildfly 10,所以我在我的Wildfly 10应用服务器中配置了2个xa数据源,我使用的是Hibernate ORM 5.2.9。数据库为Postgres 9.6 在我的应用程序中,我有一个EJB,它有两个嵌套的for循环,我必须在嵌套循环的每次迭代中从表中读取数据。但过了一段时间,我得到了这个例外 javax.ejb.EJBTransactionRolledbackException:org.hibernate.hibernateeException:Transaction已在另一个线程中回滚 我不明白为什

所以我在我的Wildfly 10应用服务器中配置了2个xa数据源,我使用的是Hibernate ORM 5.2.9。数据库为Postgres 9.6

在我的应用程序中,我有一个EJB,它有两个嵌套的for循环,我必须在嵌套循环的每次迭代中从表中读取数据。但过了一段时间,我得到了这个例外

javax.ejb.EJBTransactionRolledbackException:org.hibernate.hibernateeException:Transaction已在另一个线程中回滚

我不明白为什么会这样。我有一个小的概念验证应用程序,它使用JDBC连接到数据库,一切都很好

编辑 这是抛出我提到的异常后的stacktrace:

12:39:07319警告[com.arjuna.ats.arjuna](默认任务-7) ARJUNA012077:对已中止的原子操作调用中止 0:ffffac280184:2edc54df:598adfb2:27f 12:39:07320错误[org.jboss.as.ejb3.invocation](默认任务7)WFLYEJB0034:组件上的EJB调用失败 方法public void的ejb/calculationResource com.精算师iado.smartsolve.services.api.calculation.CalculationResource.calculateFinancial(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput) 抛出com.精算师iado.smartsolve.exceptions.AppException: javax.ejb.EJBTransactionRolledbackException:事务回滚 位于org.jboss.as.ejb3.tx.CMTTxInterceptor.handleEndTransactionException(CMTTxInterceptor.java:137) 位于org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:117) 在org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInurtx(CMTTxInterceptor.java:279) 位于org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327) 位于org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.as.ejb3.security.SecurityContedeInterceptor.processInvocation(SecurityContedeInterceptor.java:100) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356) 位于org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636) 位于org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356) 在org.jboss.invocation.privilegedwithcombineterceptor.processInvocation(privilegedwithcombineterceptor.java:80) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) 位于org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198) 位于org.jboss.as.ee.component.ViewDescription$1.processInvocation(viewsDescription.java:185) 在org.jboss.invocation.InterceptorContext.procedure(InterceptorContext.java:340)上 位于org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) 位于org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73) 在com.精算师iado.smartsolve.services.api.calculation.CalculationResource$$$$view200.calculateFinancial(未知)上 (来源) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:498) 位于org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139) 在org.jboss.resteasy.core上。