SEATA1.5.2并没有RM这个类
时间: 2023-08-12 19:07:38 浏览: 100
非常抱歉给你带来了困惑。在 SEATA 1.5.2 版本中确实没有 RM 这个类。我之前的回答有误。
在 SEATA 1.5.2 版本中,数据源的拦截和更改是通过配置 `dataSourceProxyMode` 来实现的。具体步骤如下:
1. 在 SEATA 的 `registry.conf` 配置文件中,将 `disableGlobalTransaction` 设置为 `false`,开启全局事务。
2. 在 `seata-server.bat` 或 `seata-server.sh` 启动脚本中添加 `-Dstore.mode=db` 参数,指定 SEATA 使用数据库模式。
3. 在应用程序的数据源配置中,设置 `dataSourceProxyMode` 为 `AT`。例如,对于 Spring Boot 应用程序,可以在 `application.yml` 配置文件中添加以下配置:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/db_example
username: root
password: password
# 设置 SEATA 的数据源代理模式
druid:
filters: stat,wall
dataSourceProxyMode: true
```
通过以上配置,SEATA 将会使用代理数据源来拦截并更改 SQL 语句。你可以在代码中通过 `SqlParserFilter` 来自定义拦截和修改 SQL 语句的逻辑。
需要注意的是,SEATA 的具体配置和使用方式可能会根据不同版本有所差异。请根据你使用的 SEATA 版本查阅官方文档或参考相应的示例代码来进行配置。
阅读全文