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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/samile6899/article/details/52578347

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

       a)先画好流程图;

       b)部署流程;

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

      1,画流程图:

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

     

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

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

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

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

                         

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


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


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


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




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





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

                            

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


   2,部署ZIP流程图:

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

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

                                      


                                        


        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


猜你喜欢

转载自blog.csdn.net/samile6899/article/details/52578347
今日推荐