我正在使用 Spring Data Gemfire v1.7.5 和 Gemfire 8.2.0。
使用 REQUIRES_NEW 事务传播时,在尝试挂起现有事务时会失败并出现以下错误。看起来底层 Gemfire 事务管理器(CacheTransactionManager)支持挂起和恢复,但 spring data gemfire 不支持。我的理解对吗?如果是,在不久的将来是否有解决方法或支持?
<em>
Caused by: org.springframework.transaction.TransactionSuspensionNotSupportedException: Transaction manager [org.springframework.data.gemfire.GemfireTransactionManager] does not support transaction suspension
at org.springframework.transaction.support.AbstractPlatformTransactionManager.doSuspend(AbstractPlatformTransactionManager.java:1129)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.suspend(AbstractPlatformTransactionManager.java:579)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.handleExistingTransaction(AbstractPlatformTransactionManager.java:424)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:349)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
</em>
最佳答案
抓得好!
我已提交 JIRA 票证 SGF-598 -
"Add support for suspend and resume in GemfireTransactionManager"增强 SDG GemfireTransactionManager
的本地缓存事务挂起和恢复功能。
我已为此票证相应地设置了“修复版本”。
注意:SDG 1.7.x
不再受支持。请参阅SDG project page获取最新版本。
谢谢, 约翰
关于java - Spring data gemfire 不支持 REQUIRES_NEW 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42519704/