walkingWind opened a new issue #1842:  XA Transaction missing the data source
URL: https://github.com/apache/incubator-shardingsphere/issues/1842
 
 
   ##  XA Transaction missing the data source
   
   **description** 
   
   my version of project 
   sharding-jdbc : 3.1.0
   springboot : 2.1.2.RELEASE
   dataSource : HikariCP 2.7.8
   
   i want to test sharding transaction in my demo.
   when i don't add @ShardingTransactionType(TransactionType.XA) in method , it 
works well.
   when i add  @ShardingTransactionType(TransactionType.XA) ,and get rumtime 
exception.
   My exception log as follows : 
   
   2019-01-30 17:22:54.880 ERROR 5052 --- [nio-8097-exec-1] 
o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet 
[dispatcherServlet] in context with path [] threw exception [Request processing 
failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested 
exception is org.apache.ibatis.exceptions.PersistenceException: 
   ### Error updating database.  Cause: java.lang.IllegalStateException: 
Missing the data source name: 'mydb_ms0'
   ### The error may involve 
com.tsm.shardingjdbctest.repository.TestMapper.addOneUser-Inline
   ### The error occurred while setting parameters
   ### SQL: INSERT INTO user          ( name,                                   
        age )           values ( ?,                                           ? 
)
   ### Cause: java.lang.IllegalStateException: Missing the data source name: 
'mydb_ms0'] with root cause
   
   java.lang.IllegalStateException: Missing the data source name: 'mydb_ms0'
        at 
com.google.common.base.Preconditions.checkState(Preconditions.java:197) 
~[guava-18.0.jar:na]
        at 
io.shardingsphere.shardingjdbc.jdbc.adapter.AbstractConnectionAdapter.getConnections(AbstractConnectionAdapter.java:115)
 ~[sharding-jdbc-core-3.1.0.jar:na]
        at 
io.shardingsphere.shardingjdbc.executor.PreparedStatementExecutor$1.getConnections(PreparedStatementExecutor.java:77)
 ~[sharding-jdbc-core-3.1.0.jar:na]
        at 
io.shardingsphere.core.executor.sql.prepare.SQLExecutePrepareTemplate.getSQLExecuteGroups(SQLExecutePrepareTemplate.java:89)
 ~[sharding-core-3.1.0.jar:na]
        at 
io.shardingsphere.core.executor.sql.prepare.SQLExecutePrepareTemplate.getSynchronizedExecuteUnitGroups(SQLExecutePrepareTemplate.java:67)
 ~[sharding-core-3.1.0.jar:na]
        at 
io.shardingsphere.core.executor.sql.prepare.SQLExecutePrepareTemplate.getExecuteUnitGroups(SQLExecutePrepareTemplate.java:59)
 ~[sharding-core-3.1.0.jar:na]
        at 
io.shardingsphere.shardingjdbc.executor.PreparedStatementExecutor.obtainExecuteGroups(PreparedStatementExecutor.java:73)
 ~[sharding-jdbc-core-3.1.0.jar:na]
        at 
io.shardingsphere.shardingjdbc.executor.PreparedStatementExecutor.init(PreparedStatementExecutor.java:68)
 ~[sharding-jdbc-core-3.1.0.jar:na]
        at 
io.shardingsphere.shardingjdbc.jdbc.core.statement.ShardingPreparedStatement.initPreparedStatementExecutor(ShardingPreparedStatement.java:188)
 ~[sharding-jdbc-core-3.1.0.jar:na]
        at 
io.shardingsphere.shardingjdbc.jdbc.core.statement.ShardingPreparedStatement.execute(ShardingPreparedStatement.java:136)
 ~[sharding-jdbc-core-3.1.0.jar:na]
        at 
org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:46)
 ~[mybatis-3.4.6.jar:3.4.6]
        at 
org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
 ~[mybatis-3.4.6.jar:3.4.6]
        at 
org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) 
~[mybatis-3.4.6.jar:3.4.6]
        at 
org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) 
~[mybatis-3.4.6.jar:3.4.6]
        at 
org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) 
~[mybatis-3.4.6.jar:3.4.6]
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198)
 ~[mybatis-3.4.6.jar:3.4.6]
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:185)
 ~[mybatis-3.4.6.jar:3.4.6]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_171]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_171]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_171]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
        at 
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
 ~[mybatis-spring-1.3.2.jar:1.3.2]
        at com.sun.proxy.$Proxy74.insert(Unknown Source) ~[na:na]
        at 
org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:278) 
~[mybatis-spring-1.3.2.jar:1.3.2]
        at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:58) 
~[mybatis-3.4.6.jar:3.4.6]
        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59) 
~[mybatis-3.4.6.jar:3.4.6]
        at com.sun.proxy.$Proxy75.addOneUser(Unknown Source) ~[na:na]
        at 
com.tsm.shardingjdbctest.controller.ShardingController1.test1111(ShardingController1.java:161)
 ~[classes/:na]
        at 
com.tsm.shardingjdbctest.controller.ShardingController1$$FastClassBySpringCGLIB$$94b170ef.invoke(<generated>)
 ~[classes/:na]
        at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) 
~[spring-core-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
 ~[spring-tx-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
 ~[spring-tx-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.aspectj.AspectJAfterAdvice.invoke(AspectJAfterAdvice.java:47)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
 ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
com.tsm.shardingjdbctest.controller.ShardingController1$$EnhancerBySpringCGLIB$$2fb9e386.test1111(<generated>)
 ~[classes/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_171]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_171]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_171]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
        at 
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
 ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
 ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
 ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
 ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
 ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
 ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
 ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
 ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) 
~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
 ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 
~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 
~[tomcat-embed-websocket-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
 ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
 ~[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
 [tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
 [tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) 
[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 
[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
 [tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 
[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) 
[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
 [tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
 [tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
 [tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
[tomcat-embed-core-9.0.14.jar:9.0.14]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[na:1.8.0_171]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[na:1.8.0_171]
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 [tomcat-embed-core-9.0.14.jar:9.0.14]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_171]
   
   What's the problem?
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to