工作流Activiti的学习总结(四)Spring和Activiti的整合配置讲解(共1篇)
篇1:工作流Activiti的学习总结(四)Spring和Activiti的整合配置讲解
工作流Activiti的学习总结
(四)Spring和Activiti的整合配置讲解
Spring和Activiti的整合:
在Spring和Activiti的整合中ProcessEngineFactoryBean成为了两者的整合点。ProcessEngineFactoryBean为org.activiti.spring.ProcessEngineFactoryBean。提供了ProcessEngine的配置和创建的功能。
id=“processEngineConfiguration”class=“org.activiti.spring.SpringProcessEngineConfiguration”> ...
name=“processEngineConfiguration”ref=“processEngineConfiguration”/>
如果在包含事物的activiti配置如下:
xmlns:context=“http:///schema/context” xmlns:tx=“http:///schema/tx” xmlns:xsi=“http:///2001/XMLSchema-instance” xsi:schemaLocation=“http:///schema/beans http:///schema/beans/spring-beans.xsd http:///schema/context http:///schema/context/spring-context-2.5.xsd http:///schema/tx http:///schema/tx/spring-tx-3.0.xsd”> id=“dataSource”class=“org.springframework.jdbc.datasource.SimpleDriverDataSource”> id=“transactionManager”class=“org.springframework.jdbc.datasource.DataSourceTransactionManager”> id=“processEngineConfiguration”class=“org.activiti.spring.SpringProcessEngineConfiguration”> name=“processEngineConfiguration”ref=“processEngineConfiguration”/> id=“repositoryService”factory-bean=“processEngine”factory-method=“getRepositoryService”/> id=“runtimeService”factory-bean=“processEngine”factory-method=“getRuntimeService”/> id=“taskService”factory-bean=“processEngine”factory-method=“getTaskService”/> id=“historyService”factory-bean=“processEngine”factory-method=“getHistoryService”/> id=“managementService”factory-bean=“processEngine”factory-method=“getManagementService”/> id=“IdentityService”factory-bean=“processEngine”factory-method=“getIdentityService”/> ...工作流中Expressions的使用 在使用spring的SpringProcessEngineConfiguration时,如果没有beans属性表示所有bean都可以暴露给activiti的流程文件xml访问。如果配置beans但是没有配置map中bean信息,则没有暴露的bean。如果map中配置部分bean表示只是暴露部分bean给activiti使用。 id=“processEngineConfiguration”class=“org.activiti.spring.SpringProcessEngineConfiguration”> ... 暴露的bean可以在activiti的流程xml中使用。如下调用bean的方法 public class Printer { public void printMessage(){ System.out.println(“hello world”); } } 自动资源部署(Automatic resource deploy) id=“processEngineConfiguration”class=“org.activiti.spring.SpringProcessEngineConfiguration”> ...name=“deploymentResources”value=“classpath*:/org/activiti/spring/test/autodeployment/autodeploy.*.bpmn20.xml”/> name=“processEngineConfiguration”ref=“processEngineConfiguration”/> Spring和activit的整合测试 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(“classpath:org/activiti/spring/test/junit4/springTypicalUsageTest-context.xml”) public class MyBusinessProcessTest { @Autowired private RuntimeService runtimeService; @Autowired private TaskService taskService; @Autowired @Rule public ActivitiRule activitiSpringRule; @Test @Deployment public void simpleProcessTest(){ runtimeService.startProcessInstanceByKey(“simpleProcess”); Task task = taskService.createTaskQuery().singleResult(); assertEquals(“My Task”, task.getName()); taskService.complete(task.getId()); assertEquals(0, runtimeService.createProcessInstanceQuery().count());} } 当在spring的配置中配置ActivitiRule时候,测试bean将自动被注入: < /bean> 【工作流Activiti的学习总结(四)Spring和Activiti的整合配置讲解】相关文章: xx镇人口和计划生育利益导向工作总结讲解04-23 工作和学习的关系05-02 个人学习和工作总结08-11 依托社区优势 整合社区资源 扎实推进“四就近”工作04-09 工作计划和工作总结的联系05-08 “日周月”工作总结讲解04-26 试用期的工作总结四篇03-04 四年级语文个人教学的工作总结05-07 讲解员工作总结范文06-12