Java使用ShardingSphere-proxy的事务问题

版本:ShardingSphere-proxy 5.1.0
使用zookeeper管理配置文件:
/mysql_proxy-5.1.0/rules

- !AUTHORITY
  provider:
    props:
      user-schema-mappings: root@=customer_delivery_prod, root@=customer_delivery_dev
    type: SCHEMA_PRIVILEGES_PERMITTED
  users:
  - root@%:xxxxxx

/mysql_proxy-5.1.0/metadata/customer_delivery_prod/dataSources

ds_0:
  password: xxxxx
  dataSourceClassName: com.zaxxer.hikari.HikariDataSource
  url: jdbc:mysql://192.168.1.6:3306/customer_delivery_prod_0
  username: root

没有配置分片规则,只是一个单表。
没有配置下面的参数:

- !TRANSACTION
  defaultType: XA
  providerType: Atomikos

使用语言:Java
问题一:在普通的springboot中执行update的时候会出现下面的问题,是否需要其他配置参数来解决这个问题?

Error updating database.  Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction

问题二:
在proxy中配置了下面的参数

- !TRANSACTION
  defaultType: XA
  providerType: Atomikos

在使用第三方的开源框架时,由于其中有些内置的数据库操作,这一部分应该怎么配置来使用XA事务?如果根据官方给出的示例,那么需要修改框架的源码,这显然不切合实际,有没有其他的办法来解决这个问题?

京ICP备2021015875号