Activiti学习文档(三)之画流程图并部署流程

时间:2021-07-30 08:57:29

上一节我们把 Activiti 的基础环境给搭建好了,接下来的话就要使用到 Activiti 进行开发功能。当然了,在开发 Activiti 的时候,需要 :

       a)先画好流程图;

       b)部署流程;

  这一节的话,我们就来讲解这两个步骤:

      1,画流程图:

              打开Eclipse,File--->New--->Other---->Activiti----->Activiti Diagram

Activiti学习文档(三)之画流程图并部署流程     Activiti学习文档(三)之画流程图并部署流程

                之后的话,点击 Next  ----->直到    “完成”   就可以了!

                然后在 WebRoot / WebContent 上右键新建一个文件夹,例:bpmn文件夹;

                第一次画流程图的时候需要注意到一些事情,一些参数的设置:

                        a)  Properties----->General------>Name------->XXXX( 例:提交申请 )

                         Activiti学习文档(三)之画流程图并部署流程

                       b)  各个流程的审批人员设置: 在提交申请的这个阶段的时候,可以用一个EL表达式来定义操作人员,例如:${inputUser}

Activiti学习文档(三)之画流程图并部署流程

              当然,在接下来的经纪人审批和老总审批的审批处理人员选择,可以直接使用之前写好的类:(  Listeners----->New------>Select class  )[http://download.csdn.net/detail/samile6899/9763943]

Activiti学习文档(三)之画流程图并部署流程

                     c )  各个流程之间需要数据传递,当然这个在之前的 Action 方法中也有写到,这边也直接使用就可以了……(  每个阶段的话,都需要写一下  )

Activiti学习文档(三)之画流程图并部署流程

                    d ) 流程定义的Key,注意建议这里需要和domain包中的实体名一致,因为后面提交流程的时候,需要用到这个流程定义的Key,如果不一致会导致流程提交失败;(  点击空白处就可以编辑了 )

Activiti学习文档(三)之画流程图并部署流程


Activiti学习文档(三)之画流程图并部署流程

                   当然了,最后一点。在项目中,工作流可能是多条件的,很少是那种单一的顺序,直接执行完。在那种多条件的情况下,就要设置变量了;

Activiti学习文档(三)之画流程图并部署流程

Activiti学习文档(三)之画流程图并部署流程



               当流程图画好之后的话,就会看到新建的bpmn文件夹多了两个文件:     xxx.bpmn  和   xxx.png

                            Activiti学习文档(三)之画流程图并部署流程Activiti学习文档(三)之画流程图并部署流程

            然后,把这两个文件COPY出去,通过压缩软件压缩成 ZIP / RAR 文件。至此,第一阶段就完了……


   2,部署ZIP流程图:

           1, 绘制相应的JSP页面和相应的Action类;( 具体的JSP页面和Action类就不在此细说了,直接上传资源,大家下载就可以了…… )

http://download.csdn.net/detail/samile6899/9633196

                                      Activiti学习文档(三)之画流程图并部署流程


Activiti学习文档(三)之画流程图并部署流程Activiti学习文档(三)之画流程图并部署流程

                                        Activiti学习文档(三)之画流程图并部署流程


        2,发布流程的相应方法:

            WorkflowAction.java :                      

	/**
* 发布流程
* @return
*/
public String newdeploy(){
//获取页面传递的值
//1:获取页面上传递的zip格式的文件,格式是File类型
File file = workflowBean.getFile();
//文件名称
String filename = workflowBean.getFilename();
//完成部署
workflowService.saveNewDeploye(file,filename);
return "list";
}

                 WorkflowServiceImpl.java :     

	/**部署流程定义*/
@Override
public void saveNewDeploye(File file, String filename) {
try {
//2:将File类型的文件转化成ZipInputStream流
ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(file));
repositoryService.createDeployment()//创建部署对象
.name(filename)//添加部署名称
.addZipInputStream(zipInputStream)//
.deploy();//完成部署
} catch (Exception e) {
e.printStackTrace();
}
}

**************************************************************************************************

 注:Activiti 学习总结资料下载 (http://download.csdn.net/detail/samile6899/9829785