这一节的任务是学习如何设计一个请假流程,并将流程引擎放到web项目中集成,使用JSP达到在网页上管理流程定义的目的。
整体分为以下两个部分:
- 设计请假流程
- 集成web工程
设计请假流程的主要是指设计流程定义,它分为以下几步:
1、创建动态web项目
2、在/src文件夹下创建JBPM流程定义
3、流程定义设计如图
启动节点——填写申请单——经理审批——决策节点(如果请假天数大于3天)——老板审批
——(少于三天)老板通过——结束节点
在任务节点上配置分配人
至此,流程定义设计完毕。
下一步,将流程引擎集成的web工程中
步骤:
1、如第二节一样,配置运行环境
2、如下方法,编写jsp页面,进行发布流程,查看流程和删除流程
<body>
<a href="index.jsp?action=deploy">deploy</a>
<%ProcessEngine processEngine=Configuration.getProcessEngine();
RepositoryService repositoryServic=processEngine.getRepositoryService();
String action=request.getParameter("action");
System.out.println("dd"+action);
if(!action.equals("")){
if(action.equals("deploy")){
repositoryServic.createDeployment().addResourceFromClasspath("leave.jpdl.xml").deploy();
}else if(action.equals("remove")){
//通过pd.getDeploymentId对流程进行删除
//后台获取DeploymentId来决定删除哪一个流程定义。
repositoryServic.deleteDeploymentCascade(request.getParameter("id"));
}
}
List<ProcessDefinition> list=repositoryServic.createProcessDefinitionQuery().list();
for(ProcessDefinition pd:list){
%>
<%=pd.getId() %>,<%=pd.getName()%>,<%=pd.getVersion() %>
<a href="index.jsp?action=remove&id=<%=pd.getDeploymentId() %>">remove</a>
<%
}
%>
</body>
点击deploy超链接,发布流程定义:

点击remove超链接,删除流程定义

如图,成功删除流程定义。至此,本节内容结束。
这一节可以说是对于流程定义管理的一个复习和回顾,只是将流程定义管理的代码放入了JSP文件中,整体方法并没有改变。
本文介绍如何设计一个基于JBPM的请假流程,并将其集成到Web项目中。包括创建动态Web项目、流程定义的设计及配置,以及使用JSP实现流程的部署、查看和删除。
:设计请假流程&spm=1001.2101.3001.5002&articleId=8450655&d=1&t=3&u=96cc757d6c7b4f2ebb563cd87f124bb9)
912

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



