Spring集成activiti
集成activiti需要同时集成以下内容
- spring-mvc
- mybatis
1.pom.xml配置
activiti的pom部分
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>5.18.0</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>5.18.0</version>
</dependency>
2.spring-activiti.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 配置Activiti -->
<bean id="processEngineConfigureation" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="false" />
<property name="deploymentResources" value="classpath:process/*.bpmn" />
<property name="activityFontName" value="宋体"></property>
<property name="labelFontName" value="宋体"></property>
</bean>
<bean id="processEngineFactory" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfigureation" />
</bean>
<bean id="repositoryService" factory-bean="processEngineFactory" factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngineFactory" factory-method="getRuntimeService" />
<bean id="formService" factory-bean="processEngineFactory" factory-method="getFormService" />
<bean id="identityService" factory-bean="processEngineFactory" factory-method="getIdentityService" />
<bean id="taskService" factory-bean="processEngineFactory" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngineFactory" factory-method="getHistoryService" />
<bean id="managementService" factory-bean="processEngineFactory" factory-method="getManagementService" />
</beans>
3.一些API
分页获取已部署的工作流
@Resource
private RepositoryService repositoryService;
public DataGrid<Process> getlist(@RequestParam("current") int current, @RequestParam("rowCount") int rowCount) {
int firstrow = (current - 1) * rowCount;
List<ProcessDefinition> list = rep.createProcessDefinitionQuery().listPage(firstrow, rowCount);
}
ProcessDefinition接口
ProcessDefinition该接口是资源文件信息描述实体。
获取流程实例
// executionid 执行的id
ProcessInstance process=runtimeService.createProcessInstanceQuery().processInstanceId(executionid).singleResult();
获取Bpmn
BpmnModel bpmnmodel=repositoryService.getBpmnModel(process.getProcessDefinitionId());
分页查询任务
List<Task> tasks=taskservice.createTaskQuery().taskCandidateGroup("部门经理").listPage(firstrow, rowcount);