jpbm4入门实践之web请假流程。
jbpm4对与想学习工作流的coder来说,也不会陌生了,基本的介绍我就不多说了,这里有一篇我转载的jbpm4的开发环境配置的文章,没配置好的童鞋可以依照配置一下。好了开始进入正题。
jbpm4在平时使用中需要用的概念大体总结如下:
1、工作流的发布和删除
processEngine:流程引擎,直接通过Configuration.getProcessEngine()获得,是一个静态的方法。
repositoryService:管理流程定义,部署流程的一个类,通过processEngine.getRepositoryService()获得,
可以通过repositoryService.createDeployment().addResourceFromClasspath("leave.jpdl.xml").deploy()来直接部署一个jpdl的流程定义文件。
可以通过repositoryService.createDeployment().addResourcesFromZipInputStream(zis),将一个压缩包的流进行部署。
可以通过createProcessDefinitionQuery().list()来查询当前已经加载的流程定义列表。
可以通过createDeploymentQuery().list()来查询已经部署的流程列表。
可以通过deleteDeployment()或者deleteDeploymentCascade()来删除已经部署的流程,带Cascade的函数会级联删除流程下的子流程。
在请假流程项目中的应用代码如下:
这篇博客不想在继续了,因为今天和经理汇报了调研jbpm4的结果后,感觉不是很满意,bug很多,我简单列举几个:
现有的流程绘制查询gpdbug很多(不包括gbk的项目),乱码问题和编辑玩可视化界面 source界面代码重新生成的问题。
不是生成一些代码,很多重复性代码都需要收工来写,
结合现有项目的用户系统很不方便,
已经停止更新了,很多包会和先有项目的包有版本冲突
流程定义多样化不够完善。
毕竟是一个夭折的项目,夭折可能不合适,更像一个中途改嫁的妇人。。
开始研究jbpm5,我的资源里有下载jbpm4的小例子:上半部压缩包,下半部压缩包