我们需要下载camunda的流程设计器camunda.com/download/mo…,下载安装完成后打开Camunda Modeler
我们设计一个简单的流程
说明一下,camunda提供了一系列操作流程的restful api,但是本系列所有分享camunda内容都是使用原生api来完成。
1.流程部署
部署流程主要使用到的类
RepositoryService(部署定义服务)
Deployment(部署对象)
//读取流程文件,获取文件输入流
String fileName = "diagram_1.bpmn";
InputStream inputStream = ProcessDeployTest.class.getResourceAsStream("/bpmn/" + fileName);
//获取Deployment对象
Deployment deployment = repositoryService.createDeployment()
.name("diagram_1")
.addInputStream(fileName, inputStream)
.deploy();
if (deployment != null) {
System.out.println("部署id:" + deployment.getId());
}
如果能够打印出部署id说明已经部署成功了
2.流程定义
如果在设计流程时Executable是勾选状态,流程部署后,流程定义的信息也同步生成,如果没有勾选,则只会生成部署相关的信息,流程定义的信息是无法获取的,因此我们可以使用api查询流程定义的信息
String pdKey = "test";//此处流程定义key为设计流程图时的Id值
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
.active()
.processDefinitionKey(pdKey)
.latestVersion()//获取最新版本
.singleResult();
if (pd != null) {
System.out.println("流程定义id:" + pd.getId() + ",流程版本:" + pd.getVersion());
}
流程部署和流程定义我在这里只是抛砖引玉,其实还可以使用压缩zip的方式部署,朋友们可以自己去扩展一下。本次的示例demo下载链接为github.com/fishjenny/c…,如果有帮助到大家,欢迎star,谢谢!