流程变量:流程变量所起到的作用是传递参数
设置流程的四种方式:①启动设置 ②任务完成设置 ③ runtimeService.setvars...() ④taskservice.setvars...()
获取流程变量的两种方式:①runtimeService.getvars..,(); ②taskservice.getvars...()
获取流程引擎:
public class ActivitiTest {
//方式一:ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//方式二:
public void test1() {
ProcessEngineConfiguration config = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResource(
"activiti-context.xml", "processEngineConfiguration");
ProcessEngine processEngine = config.buildProcessEngine();
}
}
部署流程开启流程实例,办理任务
/**
* 部署流程
*/
public void test2() {
RepositoryService repositoryService = processEngine
.getRepositoryService();
DeploymentBuilder deploymentBuilder = repositoryService
.createDeployment();
deploymentBuilder.addClasspathResource("test.bpmn");
deploymentBuilder.addClasspathResource("test.png");
Deployment deployment = deploymentBuilder.deploy();
}
/**
* 开启流程实例
*/
public void test3() {
ProcessInstance processInstance = processEngine.getRuntimeService()
.startProcessInstanceById("test:1:104");
String instanceId = processInstance.getProcessInstanceId();
System.out.println(instanceId);
}
/**
* 查询和办理任务
*/
public void test4() {
//查询任务
TaskQuery taskQuery = processEngine.getTaskService().createTaskQuery();
//添加查询条件
taskQuery.taskAssignee("user");
Task task = taskQuery.singleResult();
//办理任务
processEngine.getTaskService().complete(task.getId());
}
activiti与Spring的整合
<!-- 整合activity工作流框架 -->
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource"/>
<property name="transactionManager" ref="txManager"/>
<property name="databaseSchemaUpdate" value="true"/>
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
<bean id="repService" factory-method="getRepositoryService" factory-bean="processEngine"/>