jbpm之流程模板发布+++

jbpm之流程模板发布

由于本人目前使用的是jbpm-3.2.2版本的,现在就以该版本来进行流程模板的发布演示(jbpm 3.x版本的大致都类似)

流程模板发布就是将流程设计器里设计完成的流程模板文件发布到数据库中,以利于流程引擎对数据库的直接操作,实现对流程的控制;以下面我设置的流程模板为例:

这个就是通过可视化设计的流程模板,设置完成后就需要将其发布到数据库中;

1.

当我们设计完流程模板后保存,在我们的包下会出现三个文件(jbpm3中,jbpm4中两个),分别是(如图):gpb.xml(节点位置的定位文件);processdefinition.xml(流程定义文件,即定义流程的业务);perocessimage.jpg(由前两个文件产生的流程图片);

发布就是将这个三个文件一起存入数据库中;

2.jbpm的流程发布有两种方式:a.利用jbpm的流程设计器集合可以发布的流程的Servlet来实现;b.将流程文件从设计器中导出为一个zip包文件,然后利用应用程序将其发布到数据库中(这个就是今天要介绍的);

3.下面介绍第二种方式的具体操作:a.不利用流程设计器为我们提供的便利,直接手动来操作:我们将那三个流程模板文件放入到指定的文件夹下(根据自己爱好,但最好别放到中文目录下),然后自己利用工具如winrar进行打包为zip包文件; 打包结束后,我们就可以写应用程序来进行发布,应该程序代码如下:

package jbpm;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.util.zip.ZipInputStream;

import org.jbpm.JbpmConfiguration;

import org.jbpm.JbpmContext;

import org.jbpm.graph.def.ProcessDefinition;

public class DeploymentTest {

/**

* @param args

*/

public static void main(String[] args) throws Exception{

JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();

try{

//定义打包文件所在的位置

String archiveFile =

//生成ZIP输入流

ZipInputStream zis = new ZipInputStream(is);

//根据zip的输入流文件生成jbpm的ProcessDefinition对象

ProcessDefinition pd = ProcessDefinition.parseParZipInputStream(zis); //利用jbpmContext将流程发布到数据库

jbpmContext.deployProcessDefinition(pd);

//关闭流

zis.close();

is.close();

}finally{

jbpmContext.close();

}

}

}

在我们允许该程序前我们还要保证Hibernate的配置文件hibernate.cxf.xml已正确配置,并且已导入相应的包,保证能正确连接数据库;

接下来我们就可以再类中右键选择Run as ---->java application允许该测试类,如果没有看到控制台报错,应该是成功了,为了保证执行的结果正确: 我们可以打开数据库找到JBPM_PROCESSDEFINITION表打开查看(我这里发布了两次):

这样表示我们已经发布成功了;b.在这个操作过程中我们还能利用流程设计器的一个便利之处就是:帮助我们对模板进行打包;打开流程设置器选择Deployment ----->可以看到页面分为四块区域,每块区域的具体操作这里就不说了,我们现在只需要用到files and Folders和local save settings两个区域-----> 在files and Folders区域中勾选我们要打包的三个文件,然后在local save settings将Save Process Archive Locally选中------->

接着选择要放在zip包文件的路径,选择完成后,点击Save WithOut Deploying..,这样包文件就打包到的你指定的目录下;

希望多多交流,多多关注,共同成就梦想

jbpm之流程模板发布

由于本人目前使用的是jbpm-3.2.2版本的,现在就以该版本来进行流程模板的发布演示(jbpm 3.x版本的大致都类似)

流程模板发布就是将流程设计器里设计完成的流程模板文件发布到数据库中,以利于流程引擎对数据库的直接操作,实现对流程的控制;以下面我设置的流程模板为例:

这个就是通过可视化设计的流程模板,设置完成后就需要将其发布到数据库中;

1.

当我们设计完流程模板后保存,在我们的包下会出现三个文件(jbpm3中,jbpm4中两个),分别是(如图):gpb.xml(节点位置的定位文件);processdefinition.xml(流程定义文件,即定义流程的业务);perocessimage.jpg(由前两个文件产生的流程图片);

发布就是将这个三个文件一起存入数据库中;

2.jbpm的流程发布有两种方式:a.利用jbpm的流程设计器集合可以发布的流程的Servlet来实现;b.将流程文件从设计器中导出为一个zip包文件,然后利用应用程序将其发布到数据库中(这个就是今天要介绍的);

3.下面介绍第二种方式的具体操作:a.不利用流程设计器为我们提供的便利,直接手动来操作:我们将那三个流程模板文件放入到指定的文件夹下(根据自己爱好,但最好别放到中文目录下),然后自己利用工具如winrar进行打包为zip包文件; 打包结束后,我们就可以写应用程序来进行发布,应该程序代码如下:

package jbpm;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.util.zip.ZipInputStream;

import org.jbpm.JbpmConfiguration;

import org.jbpm.JbpmContext;

import org.jbpm.graph.def.ProcessDefinition;

public class DeploymentTest {

/**

* @param args

*/

public static void main(String[] args) throws Exception{

JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();

try{

//定义打包文件所在的位置

String archiveFile =

//生成ZIP输入流

ZipInputStream zis = new ZipInputStream(is);

//根据zip的输入流文件生成jbpm的ProcessDefinition对象

ProcessDefinition pd = ProcessDefinition.parseParZipInputStream(zis); //利用jbpmContext将流程发布到数据库

jbpmContext.deployProcessDefinition(pd);

//关闭流

zis.close();

is.close();

}finally{

jbpmContext.close();

}

}

}

在我们允许该程序前我们还要保证Hibernate的配置文件hibernate.cxf.xml已正确配置,并且已导入相应的包,保证能正确连接数据库;

接下来我们就可以再类中右键选择Run as ---->java application允许该测试类,如果没有看到控制台报错,应该是成功了,为了保证执行的结果正确: 我们可以打开数据库找到JBPM_PROCESSDEFINITION表打开查看(我这里发布了两次):

这样表示我们已经发布成功了;b.在这个操作过程中我们还能利用流程设计器的一个便利之处就是:帮助我们对模板进行打包;打开流程设置器选择Deployment ----->可以看到页面分为四块区域,每块区域的具体操作这里就不说了,我们现在只需要用到files and Folders和local save settings两个区域-----> 在files and Folders区域中勾选我们要打包的三个文件,然后在local save settings将Save Process Archive Locally选中------->

接着选择要放在zip包文件的路径,选择完成后,点击Save WithOut Deploying..,这样包文件就打包到的你指定的目录下;

希望多多交流,多多关注,共同成就梦想


相关内容

  • 程序员简历模板2014
  • 个人简历RESUME 个人概况 姓名:张三籍贯:山东 毕业学校:****大学 学 专历:大学本科业:信息与计算科学出生日期:1987年11月性身别:男高:172CM 联系电话: E-mail: QQ:英语水平:CET4级 通讯地址: 求职意向 目标职能:Java软件工程师/Java程序员/andro ...

  • 规划局纪检监督信息管理系统的设计与实现
  • 学校编码:10384 分类号 密级 学号:X2011230792 UDC 设计与实现 Design and Implementation of Discipline Inspection and Supervision 硕 学指 导 教 师: 廖明宏教授 专 业 名 称: 软件工程 大 门论文提交日 ...

  • JAVA工作流引擎原理学习
  • JAVA工作流引擎原理学习 工作流是业务流程的全部或部分自动化,在此过程中,文档.信息或任务按照一定的过程规则流转,实现组织成员间的协同工作,以达到业务的整体目标.工作流管理系统是支持企业经营过程高效执行并监控其执行过程的计算机软件系统.典型的WFMS至少由如下几个模块组成:业务流程建模定义工具.过 ...

  • 员工管理系统需求规格说明书
  • 需求规格说明书 目录 1 概述....................................................................................................................................... ...

  • 英语写作应注意的问题
  • 注意事项之一--考前背诵模板,进行填充练习 很多从来没有写过文章的同学一定要大量背诵模板,消化,变为己有,进行大量填充练习.这就要求学生具备将句子往模板的方向想的能力.同样的模板分数差异很大,说明中间填充的东西是决定性的,但是不能否认模板对同学们的作用,尤其是基础薄弱的同学. 注意事项之二--字迹 ...

  • mysql日志学习
  • 1.在 my.ini 文件里 添加 (设置好之后 需要重新启动mysql服务器)log-bin=D:/temp semel /*启用二进制日志记录操作---D:/temp保存的路径 jysemel 为保存的文件名称*/binlog-do-db=jbpm /*指定记录到二进制中的数据库名称*/2.查看 ...

  • 图纸管理软件
  • 产品简介 海联讯图纸管理软件实现了图纸资料智能批量录入.上传归档.在线编辑.检索查询等全电子化管理,降低 了图纸维护.管理成本,提高了图纸查阅.借用效率,确保了图纸版本的统一,避免了图实不符等现象,从根本 上解决了企业在图纸管理中的老大难问题.该产品集成了多种文件类型的支持,如 Word . Exc ...

  • SOA主体技术架构
  • SOA 架构设计探讨 随着信息化技术不断发展,技术应用的不断增长.不断创新,信息系统开发建设也需要走专业化.多样性的建设之路,来帮助政府.企业解决信息化面临的难题,提升政府.企业服务整合能力.对我们软件开发公司也从原来的单个项目快速开发.快速构建能力,逐步过度到系统与系统间的能力整合,最终过渡到软件 ...

  • 淘宝运费模板(非家装)的设置
  • 淘宝运费模板(非家装)的设置 一.什么是运费模板? 运费模版就是为一批商品设置同一个运费.当您需要修改运费的时候,这些关联商品的运费将一起被修改. 如果您在发布商品时不想使用运费模板,可以在发布商品时不选择运费模板. 二.如何设置运费模板? 一般来说,我们建议您按照商品的类别.体积和重量来划分运费模 ...