liuyangming / ByteTCC-sample

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

调用sample-consumer 的/transfer接口报错:JTA failure on commit; nested exception is javax.transaction.SystemException

zhoutianqi613 opened this issue · comments

下面是http 的return:
{
"timestamp": 1506396995719,
"status": 500,
"error": "Internal Server Error",
"exception": "org.springframework.transaction.TransactionSystemException",
"message": "JTA failure on commit; nested exception is javax.transaction.SystemException",
"path": "/transfer"
}

请问下是什么问题呢

事务提交时出错了,可能是因为网络或者执行超时等因素导致。。。一般提交出错后,ByteTCC会再次重试。

你可以看看数据是否一致,如果数据一致,忽略即可。如果不一致的话,那就提个bug吧,提供一下重现步骤,把异常堆栈也发全一点。

嗯,使用场景是如下:
1.测试工程:springcloud-sample,分别启动该工程下的三个子项目
2.发送post 请求: http://localhost:7080/transfer?sourceAcctId=1&targetAcctId=2&amount=2
3.报错如下:
2017-09-26 14:54:26,313 ERROR [http-nio-7080-exec-2] - [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.increaseAmount] with root cause
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.increaseAmount
at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
at com.sun.proxy.$Proxy95.increaseAmount(Unknown Source)
at com.bytesvc.consumer.controller.TransferController.increaseAmount(TransferController.java:40)
at com.bytesvc.consumer.controller.TransferController.transfer(TransferController.java:34)
at com.bytesvc.consumer.controller.TransferController$$FastClassBySpringCGLIB$$d59c2c04.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:721)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.execute(CompensableMethodInterceptor.java:171)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.invoke(CompensableMethodInterceptor.java:98)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.controller.TransferController$$EnhancerBySpringCGLIB$$707333ac.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
2017-09-26 14:54:32,347 ERROR [pool-1-thread-1] - [org.bytesoft.bytetcc.CompensableTransactionImpl] - c83dd4a7eb470000015ebcf5e9f800019ebe4026| error occurred while confirming service: [compensable-archive| identifier= c83dd4a7eb470000015ebcf5e9f800019ebe4026, transactionKey= null, transactionXid= null, compensableKey= null, compensableXid= null, confirmed= false, cancelled= false]
java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.confirmIncrease
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirmComplicated(SpringContainerContextImpl.java:91)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirm(SpringContainerContextImpl.java:46)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:241)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.recoveryCommit(CompensableTransactionImpl.java:199)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverCoordinator(TransactionRecoveryImpl.java:374)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverTransaction(TransactionRecoveryImpl.java:323)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.timingRecover(TransactionRecoveryImpl.java:293)
at org.bytesoft.bytetcc.work.CompensableWork.run(CompensableWork.java:66)
at org.bytesoft.transaction.work.SimpleWork.run(SimpleWork.java:30)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.confirmIncrease
at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
at com.sun.proxy.$Proxy95.confirmIncrease(Unknown Source)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm.transfer(TransferServiceConfirm.java:17)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm$$FastClassBySpringCGLIB$$89d0d36.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:721)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm$$EnhancerBySpringCGLIB$$7e543d8.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirmComplicated(SpringContainerContextImpl.java:89)
... 14 common frames omitted
2017-09-26 14:54:32,347 INFO [pool-1-thread-1] - [org.bytesoft.bytetcc.CompensableTransactionImpl] - c83dd4a7eb470000015ebcf5e9f800019ebe4026| confirm native branchs failed!
javax.transaction.SystemException: null
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:260)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.recoveryCommit(CompensableTransactionImpl.java:199)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverCoordinator(TransactionRecoveryImpl.java:374)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverTransaction(TransactionRecoveryImpl.java:323)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.timingRecover(TransactionRecoveryImpl.java:293)
at org.bytesoft.bytetcc.work.CompensableWork.run(CompensableWork.java:66)
at org.bytesoft.transaction.work.SimpleWork.run(SimpleWork.java:30)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

第二个问题,使用场景和上面一样,还是有一点改动,即:注释掉/transfer接口下的this.increaseAmount(targetAcctId, amount); 方法
@responsebody
@RequestMapping(value = "/transfer", method = RequestMethod.POST)
@transactional
public void transfer(@RequestParam String sourceAcctId, @RequestParam String targetAcctId, @RequestParam double amount) {
//this.increaseAmount(targetAcctId, amount); //注释掉该方法
this.acctService.decreaseAmount(sourceAcctId, amount);
}

然后发送post请求:http://localhost:7080/transfer?sourceAcctId=1&targetAcctId=2&amount=2
报错如下:
1)http 回复:
{
"timestamp": 1506409371499,
"status": 500,
"error": "Internal Server Error",
"exception": "org.springframework.transaction.TransactionSystemException",
"message": "JTA failure on commit; nested exception is javax.transaction.SystemException",
"path": "/transfer"
}
2)日志:
2017-09-26 15:02:51,237 ERROR [http-nio-7080-exec-2] - [org.springframework.transaction.interceptor.TransactionInterceptor] - Application exception overridden by rollback exception
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.confirmIncrease
at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
at com.sun.proxy.$Proxy95.confirmIncrease(Unknown Source)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm.transfer(TransferServiceConfirm.java:17)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm$$FastClassBySpringCGLIB$$89d0d36.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:721)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm$$EnhancerBySpringCGLIB$$7e543d8.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirmComplicated(SpringContainerContextImpl.java:89)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirm(SpringContainerContextImpl.java:46)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:241)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.commit(CompensableTransactionImpl.java:126)
at org.bytesoft.bytetcc.CompensableManagerImpl.fireCompensableCommit(CompensableManagerImpl.java:351)
at org.bytesoft.bytetcc.CompensableManagerImpl.invokeCompensableCommit(CompensableManagerImpl.java:489)
at org.bytesoft.bytetcc.CompensableManagerImpl.compensableCommit(CompensableManagerImpl.java:443)
at org.bytesoft.bytetcc.TransactionManagerImpl.commit(TransactionManagerImpl.java:97)
at org.bytesoft.bytetcc.UserCompensableImpl.commit(UserCompensableImpl.java:90)
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1023)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:504)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:292)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.execute(CompensableMethodInterceptor.java:171)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.invoke(CompensableMethodInterceptor.java:98)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.controller.TransferController$$EnhancerBySpringCGLIB$$707333ac.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
2017-09-26 15:02:51,238 ERROR [http-nio-7080-exec-2] - [org.bytesoft.bytetcc.CompensableTransactionImpl] - c83dd4a7eb470000015ebcfed4c80002fd9e4ed9| error occurred while confirming service: [compensable-archive| identifier= c83dd4a7eb470000015ebcfed4c80002fd9e4ed9, transactionKey= null, transactionXid= null, compensableKey= null, compensableXid= null, confirmed= false, cancelled= false]
java.lang.RuntimeException: org.springframework.transaction.TransactionSystemException: Unexpected internal transaction state; nested exception is java.lang.IllegalStateException
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirmComplicated(SpringContainerContextImpl.java:91)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirm(SpringContainerContextImpl.java:46)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:241)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.commit(CompensableTransactionImpl.java:126)
at org.bytesoft.bytetcc.CompensableManagerImpl.fireCompensableCommit(CompensableManagerImpl.java:351)
at org.bytesoft.bytetcc.CompensableManagerImpl.invokeCompensableCommit(CompensableManagerImpl.java:489)
at org.bytesoft.bytetcc.CompensableManagerImpl.compensableCommit(CompensableManagerImpl.java:443)
at org.bytesoft.bytetcc.TransactionManagerImpl.commit(TransactionManagerImpl.java:97)
at org.bytesoft.bytetcc.UserCompensableImpl.commit(UserCompensableImpl.java:90)
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1023)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:504)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:292)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.execute(CompensableMethodInterceptor.java:171)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.invoke(CompensableMethodInterceptor.java:98)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.controller.TransferController$$EnhancerBySpringCGLIB$$707333ac.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.transaction.TransactionSystemException: Unexpected internal transaction state; nested exception is java.lang.IllegalStateException
at org.springframework.transaction.jta.JtaTransactionManager.doRollback(JtaTransactionManager.java:1060)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:853)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:830)
at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:522)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:286)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm$$EnhancerBySpringCGLIB$$7e543d8.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirmComplicated(SpringContainerContextImpl.java:89)
... 77 common frames omitted
Caused by: java.lang.IllegalStateException: null
at org.bytesoft.bytetcc.CompensableManagerImpl.rollback(CompensableManagerImpl.java:377)
at org.bytesoft.bytetcc.TransactionManagerImpl.rollback(TransactionManagerImpl.java:135)
at org.bytesoft.bytetcc.UserCompensableImpl.rollback(UserCompensableImpl.java:216)
at org.springframework.transaction.jta.JtaTransactionManager.doRollback(JtaTransactionManager.java:1050)
... 90 common frames omitted
2017-09-26 15:02:51,239 INFO [http-nio-7080-exec-2] - [org.bytesoft.bytetcc.CompensableTransactionImpl] - c83dd4a7eb470000015ebcfed4c80002fd9e4ed9| confirm native branchs failed!
javax.transaction.SystemException: null
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:260)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.commit(CompensableTransactionImpl.java:126)
at org.bytesoft.bytetcc.CompensableManagerImpl.fireCompensableCommit(CompensableManagerImpl.java:351)
at org.bytesoft.bytetcc.CompensableManagerImpl.invokeCompensableCommit(CompensableManagerImpl.java:489)
at org.bytesoft.bytetcc.CompensableManagerImpl.compensableCommit(CompensableManagerImpl.java:443)
at org.bytesoft.bytetcc.TransactionManagerImpl.commit(TransactionManagerImpl.java:97)
at org.bytesoft.bytetcc.UserCompensableImpl.commit(UserCompensableImpl.java:90)
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1023)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:504)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:292)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.execute(CompensableMethodInterceptor.java:171)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.invoke(CompensableMethodInterceptor.java:98)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.controller.TransferController$$EnhancerBySpringCGLIB$$707333ac.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
2017-09-26 15:02:51,265 WARN [http-nio-7080-exec-2] - [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter] - Failed to evaluate Jackson deserialization for type [[simple type, class void]]: com.fasterxml.jackson.databind.JsonMappingException: Internal error: can't find deserializer for void
2017-09-26 15:02:51,476 INFO [http-nio-7080-exec-2] - [org.bytesoft.bytetcc.CompensableTransactionImpl] - c83dd4a7eb470000015ebcfed4c80002fd9e4ed9| confirm remote branch: localhost:SPRINGCLOUD-SAMPLE-PROVIDER:7070
2017-09-26 15:02:51,490 ERROR [http-nio-7080-exec-2] - [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.transaction.TransactionSystemException: JTA failure on commit; nested exception is javax.transaction.SystemException] with root cause
javax.transaction.SystemException: null
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:260)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.commit(CompensableTransactionImpl.java:126)
at org.bytesoft.bytetcc.CompensableManagerImpl.fireCompensableCommit(CompensableManagerImpl.java:351)
at org.bytesoft.bytetcc.CompensableManagerImpl.invokeCompensableCommit(CompensableManagerImpl.java:489)
at org.bytesoft.bytetcc.CompensableManagerImpl.compensableCommit(CompensableManagerImpl.java:443)
at org.bytesoft.bytetcc.TransactionManagerImpl.commit(TransactionManagerImpl.java:97)
at org.bytesoft.bytetcc.UserCompensableImpl.commit(UserCompensableImpl.java:90)
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1023)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:504)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:292)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.execute(CompensableMethodInterceptor.java:171)
at org.bytesoft.bytetcc.supports.spring.CompensableMethodInterceptor.invoke(CompensableMethodInterceptor.java:98)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.controller.TransferController$$EnhancerBySpringCGLIB$$707333ac.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
2017-09-26 15:03:35,991 ERROR [pool-1-thread-1] - [org.bytesoft.bytetcc.CompensableTransactionImpl] - c83dd4a7eb470000015ebcf5e9f800019ebe4026| error occurred while confirming service: [compensable-archive| identifier= c83dd4a7eb470000015ebcf5e9f800019ebe4026, transactionKey= null, transactionXid= null, compensableKey= null, compensableXid= null, confirmed= false, cancelled= false]
java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.confirmIncrease
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirmComplicated(SpringContainerContextImpl.java:91)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirm(SpringContainerContextImpl.java:46)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:241)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.recoveryCommit(CompensableTransactionImpl.java:199)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverCoordinator(TransactionRecoveryImpl.java:374)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverTransaction(TransactionRecoveryImpl.java:323)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.timingRecover(TransactionRecoveryImpl.java:293)
at org.bytesoft.bytetcc.work.CompensableWork.run(CompensableWork.java:66)
at org.bytesoft.transaction.work.SimpleWork.run(SimpleWork.java:30)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.confirmIncrease
at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
at com.sun.proxy.$Proxy95.confirmIncrease(Unknown Source)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm.transfer(TransferServiceConfirm.java:17)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm$$FastClassBySpringCGLIB$$89d0d36.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:721)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm$$EnhancerBySpringCGLIB$$7e543d8.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirmComplicated(SpringContainerContextImpl.java:89)
... 14 common frames omitted
2017-09-26 15:03:35,991 INFO [pool-1-thread-1] - [org.bytesoft.bytetcc.CompensableTransactionImpl] - c83dd4a7eb470000015ebcf5e9f800019ebe4026| confirm native branchs failed!
javax.transaction.SystemException: null
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:260)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.recoveryCommit(CompensableTransactionImpl.java:199)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverCoordinator(TransactionRecoveryImpl.java:374)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverTransaction(TransactionRecoveryImpl.java:323)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.timingRecover(TransactionRecoveryImpl.java:293)
at org.bytesoft.bytetcc.work.CompensableWork.run(CompensableWork.java:66)
at org.bytesoft.transaction.work.SimpleWork.run(SimpleWork.java:30)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-09-26 15:03:35,992 ERROR [pool-1-thread-1] - [org.bytesoft.bytetcc.CompensableTransactionImpl] - c83dd4a7eb470000015ebcfed4c80002fd9e4ed9| error occurred while confirming service: [compensable-archive| identifier= c83dd4a7eb470000015ebcfed4c80002fd9e4ed9, transactionKey= null, transactionXid= null, compensableKey= null, compensableXid= null, confirmed= false, cancelled= false]
java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.confirmIncrease
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirmComplicated(SpringContainerContextImpl.java:91)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirm(SpringContainerContextImpl.java:46)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:241)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.recoveryCommit(CompensableTransactionImpl.java:199)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverCoordinator(TransactionRecoveryImpl.java:374)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverTransaction(TransactionRecoveryImpl.java:323)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.timingRecover(TransactionRecoveryImpl.java:293)
at org.bytesoft.bytetcc.work.CompensableWork.run(CompensableWork.java:66)
at org.bytesoft.transaction.work.SimpleWork.run(SimpleWork.java:30)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.confirmIncrease
at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
at com.sun.proxy.$Proxy95.confirmIncrease(Unknown Source)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm.transfer(TransferServiceConfirm.java:17)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm$$FastClassBySpringCGLIB$$89d0d36.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:721)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
at com.bytesvc.consumer.service.impl.TransferServiceConfirm$$EnhancerBySpringCGLIB$$7e543d8.transfer()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.bytesoft.bytetcc.supports.spring.SpringContainerContextImpl.confirmComplicated(SpringContainerContextImpl.java:89)
... 14 common frames omitted
2017-09-26 15:03:35,992 INFO [pool-1-thread-1] - [org.bytesoft.bytetcc.CompensableTransactionImpl] - c83dd4a7eb470000015ebcfed4c80002fd9e4ed9| confirm native branchs failed!
javax.transaction.SystemException: null
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireNativeParticipantConfirm(CompensableTransactionImpl.java:260)
at org.bytesoft.bytetcc.CompensableTransactionImpl.fireCommit(CompensableTransactionImpl.java:150)
at org.bytesoft.bytetcc.CompensableTransactionImpl.recoveryCommit(CompensableTransactionImpl.java:199)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverCoordinator(TransactionRecoveryImpl.java:374)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.recoverTransaction(TransactionRecoveryImpl.java:323)
at org.bytesoft.bytetcc.TransactionRecoveryImpl.timingRecover(TransactionRecoveryImpl.java:293)
at org.bytesoft.bytetcc.work.CompensableWork.run(CompensableWork.java:66)
at org.bytesoft.transaction.work.SimpleWork.run(SimpleWork.java:30)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

最后在请问一下,byteTCC的rollback逻辑是在cancel方法自定义的吗? 还是btyeTCC后台自动实现rollback逻辑?? 表示没太看懂 increaseAmount 、confirmIncrease、cancelIncrease的算法逻辑,
比如:
increaseAmount : update tb_account_two set frozen = frozen + #{amount} where acct_id = #{acctId} //即 frozen字段自增amount值

但是confirmIncrease的算法逻辑却是:
update tb_account_two set amount = amount + #{amount}, frozen = frozen - #{amount} where acct_id = #{acctId} //
这里有两个问题:1) confirm为何要递增amount自身值? confirmIncrease方法只影响frozen 值啊
2)confirmIncrease 和increaseAmount 方法的算法逻辑刚好是相反的?? 不应该是一致的么? cancel方法才和confirm算法逻辑相反??

你这两个异常堆栈,都是myBatis配置报错了:

nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.increaseAmount] with root cause
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bytesvc.consumer.dao.TransferDao.increaseAmount

嗯呢,原因刚才找到了,和IDE有关系,eclipse默认加载Java包所有类型文件,但是 intelij idea 默认java包下全是源码,因此只会加载*.java文件。 这导致在编译打包的时候,target/classes目录下没有将mmaper.xml打包进去,故报错之。
解决方法:
修改pom.xml,如下:

springcloud-sample-consumer


${basedir}/src/main/java

/*.properties
/.xml
**/
.tld

false