网站建设 运营,网站数据丢失了做数据恢复需多久,南宁免费网站建站模板,wordpress 调用用户名文章目录一、流程模型资源二、流程模型资源的部署#xff1a;2.1. 流程资源xml部署#xff1a;2.2. zip/bar打包#xff0c;多个流程资源文件部署#xff1a;2.3. Model部署三、部署有关的数据库表四、流程模型的常见管理接口4.1. 部署api4.2.验证部署4.3.获取所有部署api4…
文章目录一、流程模型资源二、流程模型资源的部署2.1. 流程资源xml部署2.2. zip/bar打包多个流程资源文件部署2.3. Model部署三、部署有关的数据库表四、流程模型的常见管理接口4.1. 部署api4.2.验证部署4.3.获取所有部署api4.4.删除部署api4.5.部署的挂起与激活一、流程模型资源
流程定义文件文件的命名必须是XXXXbpmn20.xml注意命名规范后面必须是bpmn20.xml。
流程定义图片用BPMN2.0规范定义的各种图形描绘BMPN2.0的符号及画布上的坐标信息一般是PNG格式。
表单文件把表单内容保存在一个文件中扩展名为drl。 规则文件扩展名为drl。
二、流程模型资源的部署
用flowable Modeler设计好的流程图后有多种资源部署方式分别是
1导出xml然后部署到flowable数据库中2 多个流程模型定义文件即xml打包成zip/bar多个资源文件一起部署。3Model方式部署设计器中的发布就是用的此方法。4其它方式部署
2.1. 流程资源xml部署
/** Description: 部署工作流程*** Date: 2019/4/27 1:53* Param: [filePath, flowName, flowKey]* Param: [filePath, flowName, flowKey]* return: com.zjm.gwork.utils.Result**/
public Deployment deployFlow(String filePath) {try { DeploymentBuilder deploymentBuilder repositoryService.createDeployment().addClasspathResource(filePath);Deployment deployment deploymentBuilder.deploy();logger.info(成功部署工作流成 filePath);return deployment;} catch (Exception e) {logger.error(失败部署工作流 e);return null;} // end catch
}2.2. zip/bar打包多个流程资源文件部署
nputStream in this.getClass().getClassLoader().getResourceAsStream(diagrams/approve.zip); ZipInputStream zipInputStream new ZipInputStream(in); Deployment deployment processEngine.getRepositoryService()//获取流程定义和部署对象相关的Service .createDeployment()//创建部署对象 .addZipInputStream(zipInputStream)//使用zip方式部署将approve.bpmn和approve.png压缩成zip格式的文件 .deploy();//完成部署System.out.println(部署IDdeployment.getId());System.out.println(部署时间deployment.getDeploymentTime()); 2.3. Model部署 通过act_de_model中存放的Modeler内容来部署例如代码此代码别人写的作者不详但在此感谢此作者org.flowable.ui.modeler.domain.Model modelData modelService.getModel(modelId);//获取模型byte[] bytes modelService.getBpmnXML(modelData);if (bytes null) {return (new PermissionResult()).getPermissionResult(500,模型数据为空请先设计流程并成功保存再进行发布。);}BpmnModel modelmodelService.getBpmnModel(modelData);if(model.getProcesses().size()0){return (new PermissionResult()).getPermissionResult(500,数据模型不符要求请至少设计一条主线流程。);}byte[] bpmnBytes new BpmnXMLConverter().convertToXML(model);//发布流程String processName modelData.getName() .bpmn20.xml;Deployment deploy repositoryService.createDeployment().name(modelData.getName()).addString(processName, new String(bpmnBytes, UTF-8)).deploy();return (new PermissionResult()).getPermissionResult(200,部署成功,deploy);其它方式部署 你也可以用代码创建bpmnModel模型然后用以下代码进行部署 repositoryService.createDeployment().addBpmnModel(bpmnModel, bpmnModel).deploy();
三、部署有关的数据库表 act_re_deployment流程模型部署对象表 每部署一次生成一条记录首先生成这条数据它的id主键将会被act_re_procdef和act_ge_bytearray作为外键。 act_re_procdef流程定义表 很多人不理解为什么还要这张表需要这张表是因为有时候一次部署可能采用zip/bar进行部署里面是有多份流程定义文件xml的这时候act_re_deployment只有一条部署信息但act_re_procdef有多个记录一个流程定义对应一条同时act_ge_bytearray也是每一个流程定义对应2条记录。这个表有DEPLOYMENT_ID_外键字段用它关联act_re_deployment。 act_ge_bytearray资源文件表 流程模型资源文件的真正存放地方它每部署一次就会产生2条记录一条是关于bpmn规范的文件内容存放在BYTES字段中另一条是图片信息采用二进制格式存储。提示可以部署后解析bpmn文件的内容自动生成流程图实现流程图的跟踪线路。 act_ge_property主键生成表部署主键的id生成规则。 act_re_model这张表在xml进行部署时它没有内容(flowable应该是放弃了此表改用act_de_model。
四、流程模型的常见管理接口
4.1. 部署api
4.2.验证部署
验证部署是否成功/可以用来验证部署是否存在 api
4.3.获取所有部署api
4.4.删除部署api
4.5.部署的挂起与激活
以后还会讲到流程实例的挂起与激活注意区分