- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我的服务“duplicateContract”出现 hibernate 回滚异常
Caused by: org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax.transaction.RollbackException
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1031)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy128.duplicateContracts(Unknown Source)
at com.test.server.rpc.SrvContractImpl.duplicateContracts(SrvContractImpl.java:699)
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 com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
... 34 more
Caused by: javax.transaction.RollbackException
at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:329)
at org.objectweb.jotm.Current.commit(Current.java:485)
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
... 47 more
问题是,我无法调试它,某个地方的持久对象有错误,但我不知道(这不是超时或缺少 @Transactional )。我怎样才能得到这个异常(exception)的更多细节? (也许在 oracle 日志中的某处?但是在哪里?)。
最佳答案
我检查了 JOTM 源代码,令我惊讶的是,they don't propagate the original exception .
try {
propagateCtx = false;
term.commit(true);
propagateCtx = true;
} catch (TransactionRolledbackException e) {
Current.getCurrent().forgetTx(getXid());
if (TraceTm.jta.isDebugEnabled()) {
TraceTm.jta.debug("Commit distributed transaction -> rolled back!");
}
localstatus = Status.STATUS_ROLLEDBACK;
throw new RollbackException();
}
...
JOTM项目开发seems to have stopped (最后两个版本可追溯到 2006 年和 2010 年),因此您最好查看 Narayana , Atomikos或 Bitronix .
关于java - 如何获取 UnexpectedRollbackException 的 SQL 错误来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35268411/
我的 spring 应用程序中出现 UnexpectedRollbackException。这是我的存储库类 @Repository public class MyDao { @Persist
我在 spring 的事务管理中有以下奇怪的场景: 我有一个调用方法 B 的方法 A,方法 B 调用方法 C,每个方法都在不同的类中。方法 B 和 C 都用事务包装。两者都使用 PROPAGATION
我对这个异常的了解来自 Spring 的 documentation以及一些论坛帖子,其中结霜的开发人员粘贴了大量的堆栈跟踪,但没有回复。 来自 Spring 的文档: Thrown when an
我有两个类: @Service @Transaction class A { public void method1() { private B; try {
我在进行批处理时遇到以下异常 encountered an error.org.springframework.transaction.UnexpectedRollbackException: Tra
当使用@Transactional注释方法并且存在运行时异常时,spring会吃掉该异常并抛出: org.springframework.transaction.UnexpectedRollbackE
我的服务“duplicateContract”出现 hibernate 回滚异常 Caused by: org.springframework.transaction.UnexpectedRollba
我是一名优秀的程序员,十分优秀!