首页 > 编程知识 正文

简述OpenStack架构工作流程,流程引擎

时间:2023-05-06 11:53:44 阅读:130940 作者:3097

在绘制有关BPMN的基础流程图之前,首先需要了解BPMN的基础知识。 开始、结束事件、用户任务、任务接受者、任务审阅者、网关等基础知识。 具体参照官方文档,详细介绍,便于理解。 BPMN介绍

画流程图画流程图我用在线工具编辑。 在线编辑工作流

我模拟了简单休假的流程图。 每个进程都有开始节点和结束节点。 发起人节点开始休假申请后,到达网关节点,根据休假天数,判断需要领导或经理批准,领导或经理批准完成后,任务到达结束节点,流程结束。 在图示例中,BPMN的基本组件(包括任务、网关和计时器)位于左侧,虽然不完整,但可以完成日常的简单工作流。 绘制流程完成后,单击xml选项卡以显示相应的xml信息。 可以复制到我们的项目中。 简单的过程可以设计完成。

部署相关apideploymentdeploy=存储库服务. create deployment (.name ) deploymentVO.getname ) /部署名称. category ) deployment 部署名称类别. key (部署VO.getkey () ) /部署key.tenantid (部署VO.gettenantid ) ) /租户id.addinputstream ) dedey 在项目中,上传和上传文件。 部署时,首先验证文件是否符合规范。

@postmapping(/uploadanddeploy ) ) publiccommonresultuploadanddeploy ) (requestparam ) (file ) )多路径文件多路径树}catch(ioexceptione ) { e.printStackTrace ); }catch(XMLstreamexceptione ) { e.printStackTrace ); }返回结果; } publiccommonresultcreatedeploy (actredeploymentparaminfo,多文件多文件) throws IOException,XML stream exceptept filename.endswith(bpmn20.XML ) ) { return CommonResult.error、null; } inputstream inputstream=multipart file.get inputstream (; xmlinputfactoryxif=newxmlinputfactoryimpl (; inputstreamreaderxmlin=newinputstreamreader (inputstream,' UTF-8 ' ); xmlstreamreaderxtr=xif.createxmlstreamreader (xmlin; bpmnmodelbpmnmodel=bpmnxmlconverter.converttobpmnmodel (xtr; //验证文件processvalidatorvalidator=newprocessvalidatorfactory ().createDefaultProcessValidator ); listvalidationerrorerrors=validator.validate (bpmnmodel; if (! objectutil.isempty(errors ) ({ string buffer es=new string buffer ); errors.foreach(ve-es.append ) ve.tostring ().append ) )/n ); returncommonresult.error (errors; } processmainprocess=bpmnmodel.getmainprocess (; string filename=main process.getname (; if(strutil.isempty(filename ) ) returncommonresult.error ) const.error_msg,'' noprocessfoundindefinition } info.setkey (主流程. getid ) ); info.set资源名称(文件名称); inputstreamsourcestream=multipart file.get inputstream (; 部署部署=流API .部署(info,sourceStream ); returncommonresult.success (deploy ); } flowApi.deployment

部署部署=repository service.create deployment (.name )部署VO.getname ) (.category ) )部署VO.geate ().tenantid ) deploymentVO.gettenantid ) ).addinputstream ) deploymentVO.getresource成功发布后,数据库将生成有关此进程的定义信息主要相关表格:

act_re_procdef :进程定义信息: key和name,对应于xml文件的id和name,类别category :可用于区分进程的tenantId :租户idversion:版本如果同一进程多次部署,则版本号将递增,并且启动进程时会选择版本号最大的进程定义。 act _ ge _ bytearray :进程资源信息,包括XML文件中的信息和对应流程图中的信息。 act_re_deployment :流程部署信息name :部署名称deployTime :部署时间最后,如果有其他问题,欢迎与qq组176763858交流~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。