微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JBOSS 事务同步问题

如何解决JBOSS 事务同步问题

我们有一个场景,其中历史数据应该为正在进行的交易同步。为此,我们使 History 数据对象使用 javax.transaction.Synchronization 并注册到 JTA。这在 OpenLiberty 服务器上运行正常,但是在 JBoss7.2 eap 上运行时,它会引发以下异常。休眠版本 4.2.1。 RedHat 文档说“应尽可能在开始提交操作之前注册同步”。是这个原因吗?我不怀疑任何代码问题,因为它在其他服务器上工作正常。对此的任何指示将不胜感激。

java.lang.IllegalStateException:ARJUNA016082:不允许同步!事务状态为ActionStatus.RUNNING 在 org.jboss.jts//com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.registerSynchronizationImple(TransactionImple.java:401) 在 org.jboss.jts//com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.registerSynchronization(TransactionImple.java:377) 在 org.wildfly.transaction.client@1.1.2.Final-redhat-1//org.wildfly.transaction.client.LocalTransaction.registerSynchronization(LocalTransaction.java:179) 在 deployment.iip.war//org.hibernate.service.jta.platform.internal.TransactionManagerBasedSynchronizationStrategy.registerSynchronization(TransactionManagerBasedSynchronizationStrategy.java:47) 在 deployment.iip.war//org.hibernate.service.jta.platform.internal.AbstractJtaPlatform.registerSynchronization(AbstractJtaPlatform.java:143) 在 deployment.iip.war//org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.attemptToRegisterJtaSync(TransactionCoordinatorImpl.java:262) 在 deployment.iip.war//org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.pulse(TransactionCoordinatorImpl.java:284) 在 deployment.iip.war//org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:1212) 在 deployment.iip.war//org.hibernate.ejb.AbstractEntityManagerImpl.postinit(AbstractEntityManagerImpl.java:178) 在 deployment.iip.war//org.hibernate.ejb.EntityManagerImpl.(EntityManagerImpl.java:89) 在 deployment.iip.war//org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:193) 在 deployment.iip.war//org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:188) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.base/java.lang.reflect.Method.invoke(Method.java:566) 在 deployment.iip.war//org.springframework.orm.jpa.AbstractEntityManagerfactorybean.invokeProxyMethod(AbstractEntityManagerfactorybean.java:388) 在 deployment.iip.war//org.springframework.orm.jpa.AbstractEntityManagerfactorybean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerfactorybean.java:541) 在 deployment.iip.war//com.sun.proxy.$Proxy132.createEntityManager(来源不明) 在 deployment.iip.war//org.springframework.orm.jpa.EntityManagerFactoryUtils.doGetTransactionalEntityManager(EntityManagerFactoryUtils.java:282) 在 deployment.iip.war//org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:254) 在 deployment.iip.war//com.sun.proxy.$Proxy139.setFlushMode(来源不明) 在 deployment.iip.war//com.fiserv.isd.iip.util.hibernate.history.HibernateHistoryUtils.getHibernateSession(HibernateHistoryUtils.java:95) 在 deployment.iip.war//com.fiserv.isd.iip.util.hibernate.history.HistoryWriter.writeHistoryForLogicalDataSource(HistoryWriter.java:83) 在 deployment.iip.war//com.fiserv.isd.iip.util.hibernate.history.HistoryWriter.writeHistory(HistoryWriter.java:65) 在 deployment.iip.war//com.fiserv.isd.iip.util.hibernate.history.HistoryProcessingServiceImpl.processHistoryAndActivity(HistoryProcessingServiceImpl.java:81) 在 deployment.iip.war//com.fiserv.isd.iip.util.hibernate.history.HistoryProcessingServiceImpl.processHistoryAndActivities(HistoryProcessingServiceImpl.java:56) 在 deployment.iip.war//com.fiserv.isd.iip.util.hibernate.history.HistoryProcessingServiceImpl$$FastClassBySpringcglib$$9ef31d56.invoke() 在 deployment.iip.war//org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 在 deployment.iip.war//org.springframework.aop.framework.cglibAopProxy$cglibMethodInvocation.invokeJoinpoint(cglibAopProxy.java:718) 在 deployment.iip.war//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 在 deployment.iip.war//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 在 deployment.iip.war//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 在 deployment.iip.war//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 在 deployment.iip.war//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 在 deployment.iip.war//org.springframework.aop.framework.cglibAopProxy$DynamicAdvisedInterceptor.intercept(cglibAopProxy.java:653) 在 deployment.iip.war//com.fiserv.isd.iip.util.hibernate.history.HistoryProcessingServiceImpl$$EnhancerBySpringcglib$$12d4a497.processHistoryAndActivities()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。