读书人

jpbm4入门实践之web告假流程

发布时间: 2012-08-02 11:35:25 作者: rapoo

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的函数会级联删除流程下的子流程。

在请假流程项目中的应用代码如下:


注:在编写jpdl.xml流程图文件时,可视界面绘制完之后,还需要在source界面每个task中手动添加一个form=“xxx.jsp”,这个jsp就对应着当前task的表单地址。这个属性在可视界面是无法操作的,这里在提醒大家一下,当你在source界面编辑完属性之后,不要在可视界面做修改了,不然你手动添加的属性,例如:form就会全部消失。请假流程里面的经理审批表达式是:#{day > 3 ? '老板审批' : '结束'}, 你就需要把day这个参数放进map里面。


这篇博客不想在继续了,因为今天和经理汇报了调研jbpm4的结果后,感觉不是很满意,bug很多,我简单列举几个:

现有的流程绘制查询gpdbug很多(不包括gbk的项目),乱码问题和编辑玩可视化界面 source界面代码重新生成的问题。

不是生成一些代码,很多重复性代码都需要收工来写,

结合现有项目的用户系统很不方便,

已经停止更新了,很多包会和先有项目的包有版本冲突

流程定义多样化不够完善。

毕竟是一个夭折的项目,夭折可能不合适,更像一个中途改嫁的妇人。。


开始研究jbpm5,我的资源里有下载jbpm4的小例子:上半部压缩包,下半部压缩包


读书人网 >Web前端

热点推荐