Postgres异常:javax.transaction.HeuristicMixedException:启发式异常

问题描述 投票:1回答:1

我正在Windows上使用Spring和PostgreSQL 9.2创建一个应用程序。我成功地在Windows 32位操作系统中运行此应用程序。但是当我尝试在Windows 64位操作系统中运行时,同样的应用程序,我得到以下异常:

Caused by: org.springframework.transaction.HeuristicCompletionException: Heuristic completion: outcome state is mixed; nested exception is javax.transaction.HeuristicMixedException: Heuristic Exception
    at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1016)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
    at com.kensho.common.UIbundlDAOImpl$$EnhancerByCGLIB$$ca55a3ce.findAll(<generated>)
    at com.kensho.common.UIToolKitAdminBBean.getAllBundleItems(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:346)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:299)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:132)
    ... 38 more
Caused by: javax.transaction.HeuristicMixedException: Heuristic Exception
    at com.atomikos.icatch.jta.TransactionImp.rethrowAsJtaHeuristicMixedException(TransactionImp.java:77)
    at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:238)
    at com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:498)
    at com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:129)
    at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1009)
    ... 53 more
Caused by: com.atomikos.icatch.HeurHazardException: Heuristic Exception
    at com.atomikos.icatch.imp.CoordinatorStateHandler.rollback(CoordinatorStateHandler.java:802)
    at com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:223)
    at com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:833)
    at com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:1160)
    at com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:92)
    at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:236)

....为什么我会遇到这个问题?

spring jdbc jta spring-transactions
1个回答
0
投票

结合PostgreSQL 9.x和10.x,这个问题与Seam和Apache JCR一起经历,并且在PostgreSQL配置中max_connectionmax_prepared_transactions的值太低。

© www.soinside.com 2019 - 2024. All rights reserved.