前言
上一篇中我们将工作流的图已经画好了,画好之后需要将该流程部署到数据库中,这样以后才可以用到该流程去完成相应流程工作。
Activiti工作流部署
@Test
public void deployActiviti(){
//默认加载工作流引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//加载RepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
//创建部署对象
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
//加载流程配置文件和图片
deploymentBuilder.addClasspathResource("diagrams/MyProcess.bpmn")
.name("ok")
.category("")
.addClasspathResource("diagrams/MyProcess.png");
//部署流程
deploymentBuilder.deploy();
}
可以看到主要是利用上一篇中画好的图部署流程.
主要涉及3张表:
act_re_deployment ->工作流部署表
act_ge_bytearray ->储存二进制相关文件
act_re_procdef ->流程定义数据
建议好好看看这三张表中的数据,以及它们之间的关系。
Activiti流程启动
@Test
public void startProcess(){
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService();
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("activiti_leave");
System.out.println("流程实例ID:"+processInstance.getId());
System.out.println("正在活动的节点ID:"+processInstance.getActivityId());
System.out.println("流程定义ID:"+processInstance.getProcessDefinitionId());
}
流程启动主要是利用RuntimeService指定上一篇中画的图的id即activiti_leave,获取到流程实例ProcessInstance。
本文介绍如何使用Activiti工作流引擎进行流程部署及启动,包括部署流程所需的配置文件和图片,以及启动流程实例的具体步骤。通过示例代码展示了核心操作过程。
1279

被折叠的 条评论
为什么被折叠?



