我试图调用一个简单的 CRUDRepository 方法

public void deleteUser(Long id) {
        userRepository.deleteById(id);
    }

我正进入(状态

2018-03-28 15:25:05.443 WARN 17176 --- [nio-8081-exec-1] cadatasource.xa.XAResourceTransaction:XA资源'dataSource':简历为XID'3139322E3136382E3134332E32302E746D313532323233393930353431353030303031:3139322E3136382E3134332E32302E746D33'上升-5:为XA操作提供了无效参数com.mysql.jdbc.jdbc2.optional.MysqlXAException:XAER_INVAL:com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.mapXAExceptionFromSQLException(MysqlXAConnection.java:583)中的参数(或不支持的命令)无效〜[mysql-connector-java-5.1.45.jar:5.1.45] at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.dispatchCommand(MysqlXAConnection.java:568)〜[mysql-connector-java-5.1.45 .jar:5.1.45] com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.start(MysqlXAConnection.java:509)〜[mysql-connector-java-5.1.45.jar:5.1.45] at com.atomikos .datasource.xa.XAResourceTransaction.resume(XAResourceTransaction.java:297)〜[transactions-jta-4.0.6.jar:na] at com.atomikos.datasource.xa.session.Branch EnlistedStateHandler . (BranchEnlistedStateHandler.java:40)[transactions-jta-4.0.6.jar:na] at com.atomikos.datasource.xa.session.NotInBranchStateHandler.checkEnlistBeforeUse(NotInBranchStateHandler.java:46)[transactions-jta-4.0 . 6.jar:na] at com.atomikos.datasource.xa.session.TransactionContext.checkEnlistBeforeUse(TransactionContext.java:70)[transactions-jta-4.0.6.jar:na] at com.atomikos.datasource.xa.session .SessionHandleState.notifyBeforeUse(SessionHandleState.java:160)[transactions-jta-4.0.6.jar:na] at com.atomikos.jdbc.AtomikosConnectionProxy.enlist(AtomikosConnectionProxy.java:207)[transactions-jdbc-4.0.6 . jar:na] at com.atomikos.jdbc.AtomikosConnectionProxy.invoke(AtomikosConnectionProxy.java:122)[transactions-jdbc-4.0.6.jar:na] at com.sun.proxy . $ Proxy184.prepareStatement(Unknown Source)[ na:na] at or.:::::: or or or or or or or or or or or or or or or or or or or or engine.jdbc.inter在org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl . java:78)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.buildBatchStatement(AbstractBatchImpl.java:136)[hibernate-core -5.2.14.Final.jar:5.2.14.Final] at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.getBatchStatement(AbstractBatchImpl.java:125)[hibernate-core-5.2.14.Final.jar :5.2.14.Final]在org.hibernate的org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3287)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] . persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3562)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java: 99) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:599)[hibernate-core-5.2.14.Final.jar :org.hibernate的org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:473)[hibernate-core-5.2.14.Final.jar:5.2.14.Final]的5.2.14.Final] . event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java: 39)[org.hibernate.internal.SessionImpl.doFlush上的[hibernate-core-5.2.14.Final.jar:5.2.14.Final] [SessionImpl.java:1436] [hibernate-core-5.2.14.Final.jar :5.2.14.Final]在org.hibernate.internal的org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:493)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] . 在org.hibern的SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3206)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] ate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2412)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl . java:473)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] atorg.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.beforeCompletion(JtaTransactionCoordinatorImpl.java:330)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] org.hibernate.resource . 在org.hibernate.resource.transaction.backend中的transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:47)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] . jta.internal.synchronization.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:37)[hibernate-core-5.2.14.Final.jar:5.2.14.Final] at com.atomikos.icatch.jta.Sync2Sync.beforeCompletion(Sync2Sync . java:36)[transactions-jta-4.0.6.jar:na] at com.atomikos.icatch.imp.TransactionStateHandler.notifyBeforeCompletion(TransactionStateHandler.java:240)[transactions-4.0.6.jar:na] at com . atomikos.icatch.imp.TransactionStateHandler.commit(TransactionStateHandler.java:215)[transactions-4.0.6.jar:na] a t com.atomikos.icatch.imp.CompositeTransactionImp.doCommit(CompositeTransactionImp.java:242)[transactions-4.0.6.jar:na] at com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:277)[ Transactions-4.0.6.jar:na] at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:172)[transactions-jta-4.0.6.jar:na] at com.atomikos.icatch.jta .TransactionManagerImp.commit(TransactionManagerImp.java:414)[transactions-jta-4.0.6.jar:na] at com.atomikos.icatch.jta.UserTransactionManager.commit(UserTransactionManager.java:159)[transactions-jta-4.0 . 6.jar:na] org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1040)org.springframework.transaction的[spring-tx-5.0.4.RELEASE.jar:5.0.4.RELEASE] orsu.springframe.transactionSupport.AbstractPlatformTransactionManager.commi . t(AbstractPlatformTransactionManager.java:714)[spring-tx-5.0.4.RELEASE.jar:5.0.4.RELEASE] org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:532)[spring-tx -5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:304)[spring-tx-5.0.4.RELEASE.jar:5.0.4 .RELEASE]在org.springframework.aop.framework的org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)[spring-tx-5.0.4.RELEASE.jar:5.0.4.RELEASE] . ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)[spring-aop-5.0.4.RELEASE.jar:5.0.4.RELEASE] org.springframework.aop.framework.CglibAopProxy $ DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) [spring-aop-5.0.4.RELEASE.jar:5.0.4.RELEASE]在com.powerlancres.cfu.server.service.UserServiceImpl $$ EnhancerBySpringCGLIB $$ d52732a0 . deleteUser()[classes /:na] at com.powerlancres.cfu.server.controller.UserController.delete(UserController.java:57)[classes /:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)〜[ na:1.8.0_161] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)〜[na:1.8.0_161] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)〜[na:1.8 . 0_161] at java.lang.reflect.Method.invoke(Method.java:498)〜[na:1.8.0_161] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)[spring -web-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)[spring-web-5.0.4.RELEASE.jar :5.0.4.RELEASE]在org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)[spring-webmvc-5.0.4.RELEASE.jar:5.0.4.RELEASE在org.springframew org.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:870)org.springframework.web.servlet中的[spring-webmvc-5.0.4.RELEASE.jar:5.0.4.RELEASE] . mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:776)[spring-webmvc-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter . 手柄(AbstractHandlerMethodAdapter.java:87)[spring-webmvc-5.0.4.RELEASE.jar:5.0.4.RELEASE]在org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)[spring-webmvc-5.0.4.RELEASE.jar :5.0.4.RELEASE] org.springframework上的org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)[chring-webmvc- 5.0.4.RELEASE.jar:5.0.4.RELEASE] . web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)[spring-webmvc-5.0.4.RELEASE.jar:5.0.4.RELEASE]在org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java: 903)[javax.servlet.http.HttpServlet.service上的[spring-webmvc-5.0.4.RELEASE.jar:5.0.4.RELEASE](HttpServlet.java:667)[tomcat-embed-core-8.5.28.jar :8.5.28]在javax.servlet.http的org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855)[spring-webmvc-5.0.4.RELEASE.jar:5.0.4.RELEASE] . HttpServlet.service(HttpServlet.java:742)[tomcat-embed-core-8.5.28.jar:8.5.28]在org.apache.catalina.core.ApplicationFilterChain.inter nalDoFilter(ApplicationFilterChain.java:231)[tomcat-embed-core-8.5.28.jar:8.5.28]在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)[tomcat-embed-core -8.5.28.jar:8.5.28] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)[tomcat-embed-websocket-8.5.28.jar:8.5.28] at at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)[tomcat-embed-core-8.5.28.jar:8.5.28] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain . java:166)[tomcat-embed-core-8.5.28.jar:8.5.28] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)[spring-web-5.0.4.RELEASE .jar:5.0.4.RELEASE] org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)[spring-web-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org . apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)[tomcat-emb ed-core-8.5.28.jar:8.5.28] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)[tomcat-embed-core-8.5.28.jar:8.5.28] org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109)[spring-web-5.0.4.RELEASE.jar:5.0.4.RELEASE] org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107)[spring-web-5.0.4.RELEASE.jar:5.0.4.RELEASE] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)[tomcat-embed- core-8.5.28.jar:8.5.28] org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)[tomcat-embed-core-8.5.28.jar:8.5.28] at org .springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)[spring-web-5.0.4.RELEASE.jar:5.0.4.RELEASE] org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter) .java:107)[spring-web-5.0.4.RELEASE.jar: 5.0.4.RELEASE] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)[tomcat-embed-core-8.5.28.jar:8.5.28] org.apache.catalina.core .ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)[tomcat-embed-core-8.5.28.jar:8.5.28] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)[spring- web-5.0.4.RELEASE.jar:5.0.4.RELEASE]在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)[spring-web-5.0.4.RELEASE.jar:5.0 . 4.RELEASE] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)[tomcat-embed-core-8.5.28.jar:8.5.28] at org.apache.catalina.core.ApplicationFilterChain .doFilter(ApplicationFilterChain.java:166)[tomcat-embed-core-8.5.28.jar:8.5.28]在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)[tomcat-embed- core-8.5.28.jar:8.5.28] at org.apache.catalina.cor e.StandardContextValve.invoke(StandardContextValve.java:96)[tomcat-embed-core-8.5.28.jar:8.5.28] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)[tomcat -embed-core-8.5.28.jar:8.5.28] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)[tomcat-embed-core-8.5.28.jar:8.5.28 ] org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)[tomcat-embed-core-8.5.28.jar:8.5.28] at atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)[tomcat-embed-core-8.5.28.jar:8.5.28] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter . java:342)[tomcat-embed-core-8.5.28.jar:8.5.28] at org.apache.coyote.http11.Http11Processor.service(http11Processor.java:803)[tomcat- embed-core-8.5.28 .jar:8.5.28] org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)[tomcat-embed-core-8.5.28.jar:8.5.28] at org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:790)[tomcat-embed-core-8.5.28.jar:8.5.28] at org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1459) [tomcat-embed-core-8.5.28.jar:8.5.28]在org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)[tomcat-embed-core-8.5.28.jar :8.5.28] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)[na:1.8.0_161] at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)[na:1.8.0_161] at org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)[tomcat-embed-core-8.5.28.jar: 8.5.28] at java.lang.Thread.run(Thread.java:748)[na:1.8.0_161]引起:java.sql.SQLException:XAER_INVAL:com.mysql.jdbc中的参数(或不支持的命令)无效.SQLError.createSQLException(SQLError.java:965)〜[mysql-connector-java-5.1.45.jar:5.1.45] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)~ [mysql- connect-java-5.1.45.jar:5.1.45] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)〜[mysql-connector-java-5.1.45.jar:5.1.45] at at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)〜[mysql-connector-java-5.1.45.jar:5.1.45] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680 )〜[mysql-connector-java-5.1.45.jar:5.1.45] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2480)〜[mysql-connector-java-5.1.45.jar: 5.1.45]在com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java: 2438)〜[mysql-connector-java-5.1.45.jar:5.1.45] at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:845)~ [mysql-connector-java-5.1.45.jar :com.mysql.jdbc.jdbc2.optional的com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:745)〜[mysql-connector-java-5.1.45.jar:5.1.45]的:5.1.45] .MysqlXAConnection.dispatchCommand(MysqlXAConnection.java:562)〜[mysql-connector-java-5.1.45.jar:5.1.45] ...省略了101个常用帧2018-03-28 15:25:05.447 WARN 17176 - - [nio-8081-exec-1] cajdbc.JdbcConnectionProxyHelper:在事务中登记错误 - 连接可能会被破坏?请查看日志以获取更多信息......

我检查了answer here

并因此补充:

spring.jta.atomikos.properties.serial-jta-transactions=false
spring.datasource.tomcat.connection-properties: pinGlobalTxToPhysicalConnection=true
spring.jta.atomikos.connectionfactory.local-transaction-mode=true

到我的application.properties文件,但没有工作

我使用的是spring boot 2.0.0,我的pom.xml是这样的:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jta-atomikos</artifactId>
        </dependency>
<!--        <dependency> -->
<!--            <groupId>org.springframework.boot</groupId> -->
<!--            <artifactId>spring-boot-starter-security</artifactId> -->
<!--        </dependency> -->

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
    </dependencies>