- 浏览: 179397 次
- 性别:
- 来自: 广州
文章分类
最新评论
流程定义ProcessDefinition是对业务过程的完整描述,例如请假流程定义、报销流程定义等。
流程定义的管理包括部署流程定义、查询流程定义、查看流程定义图和删除流程定义。
和流程定义相关的表jbpm4_deployment、jbpm4_deployprop和jbpm4_lob,其中jbpm4_lob存放流程定义相关资源,如流程定义xml文件和流程定义图。
1、部署流程定义
使用RepositoryService接口提供的方法,流程定义XML的内容可以从classpath路径下、文件、输入流、字符串、URL或者zip流中获取。我们主要看一下从classpath路径下获取和从zip流中获取流程定义文件。
1)从classpath路径下获取流程定义文件。
//从classpath路径下获取流程定义文件
String deploymentId = repositoryService.createDeployment()
.addResourceFromClasspath("Leave.jpdl.xml")
//流程定义文件
.addResourceFromClasspath("Leave.png")//流程定义图
.deploy();
其中流程定义图不是必须的,如果不需要,可以不用加载。
2)从zip流中获取流程定义文件。
将流程定义文件Leave.jpdl.xml和Leave.png打包成Leave.zip后进行部署。
//从zip流中获取流程定义文件
InputStream is = new FileInputStream("D:/Leave.zip");
ZipInputStream zipInputStream = new ZipInputStream(is);
String deploymentId = repositoryService.createDeployment()
.addResourcesFromZipInputStream(zipInputStream)
.deploy();
2、查询流程定义
1)查询所有的流程定义。
//查询所有的流程定义
List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()。list();
2)根据条件、排序、分页查询流程定义。
List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
.processDefinitionId(id)//根据流程定义ID查询
.processDefinitionKey(key)//根据流程定义的key查询
.processDefinitionName(name)//根据流程定义的名字查询
.orderAsc(ProcessDefinitionQuery.PROPERTY_ID)//排序
.orderAsc(ProcessDefinitionQuery.PROPERTY_KEY)//排序
.page(firstResult, maxResults)//分页
//.count()//符合条件的流程定义数量
.list();//符合条件的流程定义集合
3、查看流程定义图
流程定义图属于流程定义中的资源,存放在JBPM4_LOB表中,可以根据流程定义部署id和流程定义图名称来获取。
//部署ID String deploymentId = "1";
//流程定义图名称String resourceName = "Leave.png";
//获取流程定义图资源InputStream is = repositoryService.getResourceAsStream(deploymentId, resourceName);
//将流程定义图保存到D盘FileOutputStream fos = new FileOutputStream("d:/Leave.png");
BufferedOutputStream bos = new BufferedOutputStream(fos);
int len = -1; while((len = is.read())!= -1)
{
bos.write(len);}bos.flush();is.close();fos.close();bos.close();
4、删除流程定义
String deploymentId = "1";
//删除流程定义//如果要删除的流程定义还存在未完成的流程实例,会报错。
repositoryService.deleteDeployment(deploymentId);
//删除流程定义
//级联删除流程定义及其产生的所有流程实例
repositoryService.deleteDeploymentCascade
(deploymentId);
流程定义的管理包括部署流程定义、查询流程定义、查看流程定义图和删除流程定义。
和流程定义相关的表jbpm4_deployment、jbpm4_deployprop和jbpm4_lob,其中jbpm4_lob存放流程定义相关资源,如流程定义xml文件和流程定义图。
1、部署流程定义
使用RepositoryService接口提供的方法,流程定义XML的内容可以从classpath路径下、文件、输入流、字符串、URL或者zip流中获取。我们主要看一下从classpath路径下获取和从zip流中获取流程定义文件。
1)从classpath路径下获取流程定义文件。
//从classpath路径下获取流程定义文件
String deploymentId = repositoryService.createDeployment()
.addResourceFromClasspath("Leave.jpdl.xml")
//流程定义文件
.addResourceFromClasspath("Leave.png")//流程定义图
.deploy();
其中流程定义图不是必须的,如果不需要,可以不用加载。
2)从zip流中获取流程定义文件。
将流程定义文件Leave.jpdl.xml和Leave.png打包成Leave.zip后进行部署。
//从zip流中获取流程定义文件
InputStream is = new FileInputStream("D:/Leave.zip");
ZipInputStream zipInputStream = new ZipInputStream(is);
String deploymentId = repositoryService.createDeployment()
.addResourcesFromZipInputStream(zipInputStream)
.deploy();
2、查询流程定义
1)查询所有的流程定义。
//查询所有的流程定义
List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()。list();
2)根据条件、排序、分页查询流程定义。
List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
.processDefinitionId(id)//根据流程定义ID查询
.processDefinitionKey(key)//根据流程定义的key查询
.processDefinitionName(name)//根据流程定义的名字查询
.orderAsc(ProcessDefinitionQuery.PROPERTY_ID)//排序
.orderAsc(ProcessDefinitionQuery.PROPERTY_KEY)//排序
.page(firstResult, maxResults)//分页
//.count()//符合条件的流程定义数量
.list();//符合条件的流程定义集合
3、查看流程定义图
流程定义图属于流程定义中的资源,存放在JBPM4_LOB表中,可以根据流程定义部署id和流程定义图名称来获取。
//部署ID String deploymentId = "1";
//流程定义图名称String resourceName = "Leave.png";
//获取流程定义图资源InputStream is = repositoryService.getResourceAsStream(deploymentId, resourceName);
//将流程定义图保存到D盘FileOutputStream fos = new FileOutputStream("d:/Leave.png");
BufferedOutputStream bos = new BufferedOutputStream(fos);
int len = -1; while((len = is.read())!= -1)
{
bos.write(len);}bos.flush();is.close();fos.close();bos.close();
4、删除流程定义
String deploymentId = "1";
//删除流程定义//如果要删除的流程定义还存在未完成的流程实例,会报错。
repositoryService.deleteDeployment(deploymentId);
//删除流程定义
//级联删除流程定义及其产生的所有流程实例
repositoryService.deleteDeploymentCascade
(deploymentId);
发表评论
-
Eclipse中Hibernate Tools安装使用
2015-09-02 14:05 572eclipse->Help>Install Ne ... -
Excel保护破解
2015-08-12 15:56 724打开受保护的Excel表格,按“ALT”+“F11”键, ... -
在Web项目中配置Log4j
2014-02-19 21:29 8731在Web项目中配置Log4j 1. 动态的改 ... -
C3P0连接池详细配置
2014-02-19 21:17 729C3P0连接池详细配置 <c3p0-config ... -
转:js获取各种高度
2013-07-09 19:10 1055<script type="text/jav ... -
转:json的stringify方法作用
2013-07-04 00:14 1623可使用JSON.parse(str)将其转化为json对象 ... -
Sublime Text 2快捷键~
2013-06-30 23:19 985Ctrl+L 选择整行(按住-继续选择下行) Ctrl+ ... -
jquery表单验证-自定义及常用验证(转)
2013-04-04 23:14 1359<script type="text/java ... -
PL/SQL执行存储过程
2013-04-01 18:11 11231、PL/SQL中SQL窗口执行过程: BEGIN DBMS ... -
jboss、tomcat自定义classpath(转)
2013-04-01 14:16 4071现在的项目中自定义了很多共通的jar包,这些jar包如何导 ... -
EL表达式和JSTL标签(转)
2013-03-31 15:37 1386在JSP页面中,使用标签库代替传统的Java语言来实 ... -
EL表达式和JSTL标签(转)
2013-03-31 15:34 0在JSP页面中,使用标签 ... -
简单的导出excel
2013-03-25 16:29 989response.setContentType("a ... -
JS中URL编码参数(转) --- 乱码经过编码两次得以解决
2013-03-17 14:01 4328网上有很多文字作品写 ... -
jquery autocomplete示例
2013-03-15 18:30 9737使用jquery的autocomplete插件~~,目前网上有 ... -
GreyBox官网~~
2013-03-01 17:36 1017http://orangoo.com/labs/GreyBox ... -
(转)SQL 优化原则
2013-02-28 10:29 737一、问题的提出 在应用系统开发初期,由于开发数据库数据比 ... -
修改tomcat项目的图标
2013-02-28 10:23 846部署在tomcat中的项目在运行的时候,地址栏都是那个标志的小 ... -
如何修改和查看tomcat内存大小
2013-02-28 10:06 1041为了解决tomcat在大进行 ... -
eclipse修改内存启动参数
2013-02-28 09:56 5057一般安装完eclipse之后,在安装目录下你应该可以看到有一个 ...
相关推荐
《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM...总的来说,jBPM4.4是企业级业务流程自动化的重要工具,通过深入学习这两份资料,开发者和业务人员都能够充分利用其功能,提升流程管理的效率和灵活性。
jbpm4.4是JBoss Business Process Management Suite的第4.4版本,它是一个开源的工作流和业务流程管理系统,用于构建、部署和管理业务流程。本教程将深入探讨jbpm4.4中的核心功能,包括流程运转、驳回、分配组任务...
jBPM 4.4是一个功能强大且灵活的业务流程管理工具,它的开源性质和广泛的社区支持使其成为许多企业的首选。无论是对于希望优化内部工作流的企业,还是对于寻求提供业务流程管理解决方案的开发人员,jBPM 4.4都提供了...
jbpm4.4是JBoss Business Process Management (BPM) Suite的一个版本,它是一个开源的业务流程管理系统,用于设计、部署和执行业务流程。这个中文手册是对原版英文文档的全面翻译,旨在帮助中文用户更好地理解和使用...
【JBPM4.4流程管理Demo】是一个基于JBPM4.4版本的...通过深入研究和实践这个【JBPM4.4流程管理Demo】,开发者不仅可以掌握JBPM的基本操作,还能了解到如何在实际业务场景中应用工作流引擎,提高工作效率和流程规范性。
JBPM,全称为Java Business Process Management,是一款开源的工作流管理...总之,JBPM4.4是一个功能丰富的业务流程管理平台,它的补充资料对于开发者来说是非常有价值的资源,可以帮助他们更好地掌握和应用这一工具。
**三、jBPM4.4流程建模** 1. **使用BPMN编辑器**:通过图形化界面设计流程图,包括任务、网关、事件等元素,生成流程定义文件(.bpmn或.bpmn2)。 2. **编写Java类**:为每个任务创建对应的Java类,实现任务的逻辑...
【jbpm4.4+Tomcat6+Eclipse JEE】是一个经典的组合,用于构建基于流程管理的Java企业级应用。JBPM(Business Process Management)是一个开源的工作流管理系统,它允许开发者设计、部署和执行业务流程。Tomcat6则是...
JBPM4.4 API,全称为Java Business Process Management 4.4 Application Programming Interface...全面的实现类列表则为开发者提供了宝贵的资源,帮助他们更深入地理解和利用这个框架,实现高效、灵活的业务流程管理。
6. **集成能力**:jbpm4.4可以与Spring框架、EJB等企业级技术结合,实现业务逻辑与流程管理的无缝对接。此外,它还支持JMS、邮件等通信方式,方便与其他系统交互。 7. **测试与调试**:jbpm4.4提供了测试框架,允许...
jbpm4.4是JBoss公司提供的一个开源工作流管理系统,它允许开发者在Java应用程序中轻松地实现业务流程管理(BPM)。SSH2则是Struts2、Spring和Hibernate三个开源框架的组合,常用于构建企业级的Java Web应用。将jbpm...
jbpm是一个开源的业务流程管理系统(BPM),它提供了工作流程服务、规则引擎和事件处理等功能,广泛应用于企业的业务流程管理和优化。 1. **jbpm概述**:jbpm是Java Business Process Management的缩写,它是一个...
【jbpm4.4 完整例子】是一个基于servlet和jsp实现的业务流程管理(BPM)系统示例,它展示了jbpm4.4框架的核心功能和应用场景。jbpm是一个开源的工作流和业务流程管理系统,它允许开发者设计、执行、管理和监控业务...
jbpm是一款开源的工作流管理系统,它提供了一套完整的业务流程管理解决方案,包括流程设计、部署...通过这两份指南,无论是开发者还是业务人员,都能全面掌握jbpm 4.4的功能和使用方法,实现高效且灵活的业务流程管理。
【jbpm4.4开发包2】是针对Java业务流程管理(Business Process Management,简称BPM)系统的一个重要版本,由JBoss公司开发并维护。jbpm4.4是jbpm框架的第4个主要版本的第4次迭代,它为开发者提供了强大的工具集来...
在这个“jbpm4.4流程图”中,我们关注的是如何通过图形化的方式来理解和操作这些流程。 流程图在jbpm中扮演着至关重要的角色,它们提供了一个直观的方式来描绘业务流程的各个步骤和决策点。`subjbpm.png`可能是一个...
**jbpm4.4** 是jbpm的第4个主要版本,它提供了强大的工作流和业务流程管理功能。jbpm4.4支持BPMN 2.0标准,这使得流程定义更加直观且与各种BPM工具兼容。它包括以下关键特性: 1. **流程建模**:jbpm4.4使用BPMN ...
总的来说,jbpm是一个强大的业务流程管理工具,适用于需要自动化和优化业务流程的企业或项目。jbpm 4.4版本是其历史版本中的一个重要里程碑,尽管可能不如最新版本那样拥有最新的特性和改进,但对于学习和理解工作流...
jbpm4.4是JBoss企业级业务流程管理(Business Process Management)套件的一个版本,它提供了一整套工具和服务,用于设计、部署和执行业务流程。在这个“简单请假流程”中,我们可以深入理解jbpm4.4如何帮助开发者...
综上所述,jbpm4.4 shh2项目示例展示了如何在Java Web环境中使用jbpm实现流程管理,结合SSH2技术栈处理业务逻辑和数据操作。该项目提供了一个学习和实践业务流程自动化管理的平台,有助于开发者深入理解jbpm和SSH2的...