http://www.cnblogs.com/luxh/archive/2012/07/25/2607412.html
流程定义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);
分享到:
相关推荐
3. **流程执行**:jBPM4.4提供了一个流程引擎,用于解析流程定义并执行流程实例。引擎支持流程的启动、挂起、恢复、终止等操作,并能处理并发和分支逻辑。 4. **任务管理**:jBPM中的任务服务允许用户交互地处理...
【JBPM4.4流程管理Demo】是一个基于JBPM4.4版本的示例项目,主要展示了如何在实际业务场景中应用工作流引擎进行流程管理,特别是报销流程的管理。这个Demo不仅包含了可运行的代码,还附带了学习资料和SQL文件,方便...
**三、jBPM4.4流程建模** 1. **使用BPMN编辑器**:通过图形化界面设计流程图,包括任务、网关、事件等元素,生成流程定义文件(.bpmn或.bpmn2)。 2. **编写Java类**:为每个任务创建对应的Java类,实现任务的逻辑...
- **流程定义与建模**:jbpm4.4使用BPMN(Business Process Modeling Notation)进行流程建模,这是一种标准化的语言,允许用户以图形化方式设计和理解复杂的业务流程。 - **流程实例**:一旦流程定义完成,可以...
1. **流程定义语言**:jBPM 4.4支持多种流程定义语言,包括BPMN2.0(Business Process Model and Notation),这是一种标准化的图形表示法,用于描述业务流程。此外,它还支持JPDL(jBPM Process Definition ...
源码分析方面,我们可以看到jbpm4.4的流程定义文件(通常为*.bpmn或*.bpmn2格式),其中包含了流程图的所有信息,包括活动、分支、条件、泳道等。在S2SH部分,可能会有实体类(Entity)表示请假信息,Action类处理...
jbpm4.4是JBoss企业级业务流程管理(Business Process Management)平台的一个重要版本,它为开发者提供了全面的工作流和业务流程管理解决方案。本文将深入解析jbpm4.4的相关知识点,帮助那些寻找优质学习资源的朋友...
XML文件是jbpm4.4的标准格式,可以方便地在不同的系统之间共享和迁移流程定义。 另一方面,jbpm4.4也支持导入XML文件来恢复已有的流程设计。通过此功能,团队成员可以方便地协作开发,或者在升级或调试流程时恢复到...
**JBPM4.4 使用之配置管理** JBPM(Java Business Process Management)是一款开源的工作流管理系统,用于管理和执行业务流程。在JBPM4.4版本中,配置管理是确保系统稳定运行和流程优化的关键环节。以下将详细讲解...
jbpm4.4是该系统的某一版本,它提供了丰富的功能,包括流程定义、流程实例的启动、监控和干预,以及与后端系统如数据库和应用服务器的集成。 1. **流程建模**: jbpm4.4使用BPMN(Business Process Model and ...
JBPM4.4是JBPM的其中一个稳定版本,发布于2009年,它提供了强大的工作流服务,包括流程定义、流程实例管理、任务管理和监控等功能。在JBPM4.4版本中,开发者可以利用其提供的API和工具来设计、部署和执行复杂的业务...
**jBPM 4.4** 是一个开源的工作流程管理系统,由Red Hat公司开发并维护,主要用于业务流程管理(BPM)和工作流自动化。该系统提供了强大的流程建模、执行和监控功能,支持Java平台,并与Java EE和Spring框架高度集成...
JBPM4.4是JBoss Business Process Management (BPM)平台的一个版本,它是一个开源的企业级BPM解决方案,用于设计、执行和管理业务流程。在这个完整的审批流程工程中,我们看到它采用Maven进行项目构建和依赖管理,...
【JBPM4.4 使用之流程管理初探】 JBPM(Java Business Process Management)是一款开源的工作流管理系统,它提供了一套完整的解决方案,用于设计、执行和监控业务流程。JBPM4.4是JBPM的一个重要版本,它在4.x系列中...
- jBPM4.4 共有 18 张表,这些表用于存储流程定义、实例状态等数据。 **3. jBPM4.4环境准备** - **所需环境**:jBPM 需要 JDK (Java Development Kit) 5 或更高版本;Apache Ant 1.7.0 或更高版本。 - **下载资源*...
2. **jBPM架构**:讲解jBPM的核心组件,如流程定义语言(BPMN 2.0)、工作流引擎、任务服务和持久化机制。 3. **流程建模**:介绍使用jBPM Designer或直接编写XML来创建流程模型,包括各种活动(如任务、决策点、...
- 创建流程定义文件(.bpmn或.bpmn2),并在jbpm工作台中进行设计和部署。 - 实现业务服务接口,使用jbpm提供的API启动流程实例,处理任务,完成流程流转。 - 设计Struts2 Action,处理用户请求,与Spring服务层...
"jBPM4.4.docx" 文件可能是关于 jbPM 4.4 示例的详细文档,它可能包含如何安装、配置、创建和运行流程实例的步骤,以及可能遇到的问题和解决办法,对于学习和使用 jbPM 4.4 是非常有价值的参考资料。 总结,jbPM ...
- **流程定义语言 (BPMN 2.0)**:jbpm4.4支持Business Process Modeling Notation 2.0,这是一种标准的流程建模语言,提供了图形化的方式来描述业务流程。 - **流程引擎**:执行流程实例的中心组件,负责解析流程...