全部产品
云市场

依赖与配置项

更新时间:2020-03-30 11:21:41

分布式事务不仅支持 SOFABoot 框架,而且也支持纯 Spring 的应用场景。本文分别针对不同的服务框架所要预先完成的依赖与配置项操作进行说明,无论是发起方还是参与者都需要完成以下工作。

环境要求

必须使用 JDK 1.7 或以上版本。

工程依赖

基于 SOFABoot 框架

添加分布式事务依赖

SOFABoot 框架中已经默认集成了分布式事务 SDK,不需要手动添加分布式事务的 maven 依赖。

如果您不愿意使用 SOFABoot 提供的分布式事务版本,可以在工程的主 pom.xml 文件添加分布式事务的 maven 依赖,依赖配置如下:

  1. <dependency>
  2. <groupId>com.alipay.sofa</groupId>
  3. <artifactId>dtx-enterprise-sofa-boot-starter</artifactId>
  4. <version>${dtx.version}</version>
  5. </dependency>
说明:您可以在 ${dtx.version} 中选择需要的版本或最新版本。关于最新版本,参见 各中间件服务 starter

基于 Spring 框架

在 Spring 框架中,您需要依次添加 Spring 依赖和分布式事务依赖。

添加 Spring 依赖

分布式事务依赖 Spring 4 框架,需要在应用中引入 Spring JAR 包,您可以在应用中添加如下 Spring Maven 依赖:

  1. <dependency>
  2. <groupId>org.springframework</groupId>
  3. <artifactId>spring-context</artifactId>
  4. <version>${spring.version}</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework</groupId>
  8. <artifactId>spring-core</artifactId>
  9. <version>${spring.version}</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.springframework</groupId>
  13. <artifactId>spring-beans</artifactId>
  14. <version>${spring.version}</version>
  15. </dependency>
  16. <dependency>
  17. <groupId>org.springframework</groupId>
  18. <artifactId>spring-aop</artifactId>
  19. <version>${spring.version}</version>
  20. </dependency>
  21. <dependency>
  22. <groupId>org.springframework</groupId>
  23. <artifactId>spring-tx</artifactId>
  24. <version>${spring.version}</version>
  25. </dependency>
  26. <dependency>
  27. <groupId>org.springframework</groupId>
  28. <artifactId>spring-orm</artifactId>
  29. <version>${spring.version}</version>
  30. </dependency>

说明${spring.version} 必须为 4.x.x 版本。

添加分布式事务依赖

在工程中添加如下依赖:

  1. <dependency>
  2. <groupId>com.alipay.dtx</groupId>
  3. <artifactId>dtx-all</artifactId>
  4. <version>${dtx.version}</version>
  5. </dependency>

说明:您可以在 ${dtx.version} 中选择需要的版本或最新版本。

工程属性配置

为了获取事务管理器的地址,需要配置工程属性文件。

  • 在金融分布式架构环境,默认使用 AntVIP 组件寻址。
  • 在非金融分布式架构环境,直接使用自定义事务管理器地址。

默认情况下,不同框架的工程属性配置文件存放路径为:

  • SOFABoot 框架:存放在 src\main\resources\config\application.properties
  • 纯 Spring 框架:存放在在工程的 META-INF 目录下。

金融分布式架构环境

在金融分布式架构环境中,需要配置以下属性,具体值可以参考 引入 SOFA 中间件 > 中间件全局配置项 获取:

  • com.alipay.appname=xxx:应用名称
  • com.alipay.env=shared:环境标识
  • com.alipay.instanceid=xxx:唯一标识
  • com.antcloud.antvip.endpoint=xxx:配置 AntVIP 地址

非金融分布式架构环境

在非金融分布式架构环境中,需要配置以下属性:

  • com.alipay.appname=xxx:应用名称
  • com.alipay.dtx.server.hosts=xxx,xxx:事务管理器域名/IP 列表

配置扫描器

为了自动代理涉及分布式事务的类或方法,需要在 Spring 配置文件中添加以下分布式事务扫描器:

  1. <bean class="com.alipay.sofa.dtx.client.aop.ComponentScanner" />