alfresco
Activiti Releases
https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases/
true
在Activiti中核心类的是ProcessEngine流程引擎,与Spring整合就是让Spring来管理ProcessEngine
通过org.activiti.spring.SpringProcessEngineConfiguration 与Spring整合方式来创建ProcessEngine对象。
创建spring与activiti的整合配置文件:activiti-spring.xml(名称不固定)
2)、创建activiti-spring.xml
<beans xmlns=“http://www.springframework.org/schema/beans”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns:tx=“http://www.springframework.org/schema/tx”
xmlns:aop=“http://www.springframework.org/schema/aop”
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<tx:advice id=“txAdvice” transaction-manager=“transactionManager”>
tx:attributes
<tx:method name=“save*” propagation=“REQUIRED”/>
<tx:method name=“insert*” propagation=“REQUIRED”/>
<tx:method name=“delete*” propagation=“REQUIRED”/>
<tx:method name=“update*” propagation=“REQUIRED”/>
<tx:method name=“find*” propagation=“SUPPORTS” read-only=“true”/>
<tx:method name=“get*” propagation=“SUPPORTS” read-only=“true”/>
</tx:attributes>
</tx:advice>
databaseSchemaUpdate的取值内容:
flase: 默认值。activiti在启动时,会对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常。(生产环境常用)
true: activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建。(开发时常用)
create_drop: 在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)。(单元测试常用)
drop-create: 在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎)。
1)、测试代码
/**
测试activiti与spring整合是否成功
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = “classpath:activiti-spring.xml”)
public class ActivitiTest {
@Autowired
private RepositoryService repositoryService;
@Test
public void test01(){
System.out.println(“部署对象:”+repositoryService);
}
}
2)、执行流程分析
下面我们一起来分析Activiti与Spring整合加载的过程。
1、加载activiti-spring.xml配置文件
2、加载SpringProcessEngineConfiguration对象&#x