Commit ec876d54a4ea85fce87cd1d5b7472e9129df2b17

Authored by YunaiV
1 parent fcd44d8b

修复 activiti 事务的一致性

yudao-framework/yudao-spring-boot-starter-activiti/pom.xml
@@ -43,12 +43,10 @@ @@ -43,12 +43,10 @@
43 <artifactId>yudao-spring-boot-starter-security</artifactId> 43 <artifactId>yudao-spring-boot-starter-security</artifactId>
44 </dependency> 44 </dependency>
45 45
46 -  
47 - 46 + <!-- DB 相关 -->
48 <dependency> 47 <dependency>
49 - <groupId>org.mybatis</groupId>  
50 - <artifactId>mybatis</artifactId>  
51 - <optional>true</optional> 48 + <groupId>cn.iocoder.boot</groupId>
  49 + <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
52 </dependency> 50 </dependency>
53 51
54 <!--使用mybatis plus需排除掉mybatis--> 52 <!--使用mybatis plus需排除掉mybatis-->
yudao-framework/yudao-spring-boot-starter-activiti/src/main/java/cn/iocoder/yudao/framework/activiti/config/YudaoActivitiConfiguration.java
@@ -4,9 +4,15 @@ import cn.iocoder.yudao.framework.activiti.core.web.ActivitiWebFilter; @@ -4,9 +4,15 @@ import cn.iocoder.yudao.framework.activiti.core.web.ActivitiWebFilter;
4 import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum; 4 import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum;
5 import org.activiti.image.ProcessDiagramGenerator; 5 import org.activiti.image.ProcessDiagramGenerator;
6 import org.activiti.image.impl.DefaultProcessDiagramGenerator; 6 import org.activiti.image.impl.DefaultProcessDiagramGenerator;
  7 +import org.activiti.spring.SpringProcessEngineConfiguration;
  8 +import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer;
  9 +import org.apache.ibatis.session.SqlSessionFactory;
  10 +import org.apache.ibatis.transaction.TransactionFactory;
  11 +import org.mybatis.spring.transaction.SpringManagedTransactionFactory;
7 import org.springframework.boot.web.servlet.FilterRegistrationBean; 12 import org.springframework.boot.web.servlet.FilterRegistrationBean;
8 import org.springframework.context.annotation.Bean; 13 import org.springframework.context.annotation.Bean;
9 import org.springframework.context.annotation.Configuration; 14 import org.springframework.context.annotation.Configuration;
  15 +import org.springframework.transaction.PlatformTransactionManager;
10 16
11 @Configuration 17 @Configuration
12 public class YudaoActivitiConfiguration { 18 public class YudaoActivitiConfiguration {
@@ -27,4 +33,13 @@ public class YudaoActivitiConfiguration { @@ -27,4 +33,13 @@ public class YudaoActivitiConfiguration {
27 return registrationBean; 33 return registrationBean;
28 } 34 }
29 35
  36 + /**
  37 + * ProcessEngineConfigurationConfigurer 实现类,设置事务管理器,保证 ACT_ 表和自己的表的事务一致性
  38 + */
  39 + @Bean
  40 + public ProcessEngineConfigurationConfigurer processEngineConfigurationConfigurer(
  41 + PlatformTransactionManager platformTransactionManager) {
  42 + return processEngineConfiguration -> processEngineConfiguration.setTransactionManager(platformTransactionManager);
  43 + }
  44 +
30 } 45 }