该框架的使用需要结合hibernate
1.创建基本的数据库表
JbpmConfiguration.getInstance().createSchema();
2.定义流程 例如
<?xml version="1.0" encoding="UTF-8"?>
<!-- 定义文档 -->
<process-definition name="文档测试流程">
<!-- 文档开始 -->
<start-state name="开始">
<transition name="提交张三审批" to="张三审批">
</transition>
</start-state>
<!-- 各个流程的节点 -->
<task-node name="张三审批">
<task name="审批1">
<assignment actor-id="张三"/>
<transition name="提交李四审批" to="李四审批">
</transition>
</task>
</task-node>
<task-node name="李四审批">
<task name="审批2">
<assignment actor-id="李四"/>
<transition name="提交王五审批" to="王五审批">
</transition>
</task>
</task-node>
<task-node name="王五审批">
<task name="审批2">
<assignment actor-id="王五"/>
<transition name="提交王五审批" to="结束">
</transition>
</task>
</task-node>
<!-- 结束 -->
<end-state name="结束"></end-state>
</process-definition>
3.部署流程到数据库
//2创建processdefinition对象
ProcessDefinition processdefinition = ProcessDefinition.parseXmlResource("processdefinition.xml");
//3创建jbpmContext对象, jbpmContext类似于hibernate session的功能
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
try {
//4部署流程到数据库
jbpmContext.deployProcessDefinition(processdefinition);
} finally {
//5关闭context对象
jbpmContext.close();
}
4.创建公文
Session session=HibernateUtil.getSession();
Transaction tx=session.beginTransaction();
Document doc=new Document();
doc.setContent("测试文档内容");
doc.setCreator("测试文档作者");
doc.setTitle("测试文档标题");
session.save(doc);
tx.commit();
session.close();
5.最关键的步骤,创建流程实例,并且和公文绑定
ProcessInstance processInstance = new ProcessInstance(processdefinition);
//存储流程实例processInstance
jbpmContext.save(processInstance);
doc.setProcessInstanceId(processInstance.getId());
//绑定公文到流程实例(ContextInstance 相当于变量的容器)
processInstance.getContextInstance().setVariable("document", doc.getId());
6.提交公文
Document doc =(Document) jbpmContext.getSession().load(Document.class, 1);
//根据流程实例ID加载流程实例
ProcessInstance processInstance = jbpmContext.getProcessInstance(doc.getProcessInstanceId());
// 触发流程往下走(即到达第一个节点)
processInstance.getRootToken().signal();
7.得到公文所处在的流程节点
processInstance.getRootToken().getNode().getName()
8.得到用户的公文
List tasks2 = jbpmContext.getTaskMgmtSession().findTaskInstances("王五");
9.流程是否结束
processInstance.hasEnded();
分享到:
相关推荐
jbpm基础入门实例,包括数据库创建,部署流程定义,创建公文,将公文提交到第一个环节,公文当前所处的环节是什么?,如何得知在某个用户手上有哪些待审公文?,如何得知在某个用户手上有哪些待审公文?,如何得知从...
一、jbpm基础概念 1. 流程定义(Process Definition):jbpm使用BPMN 2.0(Business Process Model and Notation)标准来图形化地表示业务流程,它包含任务(Task)、事件(Event)、网关(Gateway)等元素。 2. ...
#### 二、jBPM基础知识 在深入讨论环境搭建之前,我们需要先了解一些基础知识: 1. **UML 2.0 活动图**:jBPM采用了UML 2.0活动图作为其核心模型之一。理解这些图可以帮助开发者更好地设计和实现工作流。 2. **...
1. **jbpm基础**:掌握BPMN 2.0语言,了解jbpm的主要组件和服务,如流程定义、流程实例、任务服务等。 2. **流程定义与执行**:学习如何使用jbpm提供的工具或XML文件来创建流程定义,并理解流程实例的启动、执行和...
- **jbpm工作流入门教程.pdf**:这可能是关于jbpm基础知识和实践操作的指南,包括流程设计、部署、执行等。 - **jb51.net.txt**:可能包含jb51网站上的相关文章链接或教程摘要,jb51.net是一个技术分享平台。 - *...
JBPM基础知识** 理解JBPM的基础概念至关重要,包括任务、事件、工作流实例等。流程定义文件(jpdl)用于描述业务流程,通过XML格式定义各个节点(如开始、结束、决策、用户任务等)和它们之间的连接。 **4. 整合...
"JBPM7基础开发" JBPM7 基础开发是基于流程引擎的开发方式和实现方式的简单说明。流程引擎是一个自动化管理和优化流程的工具,旨在提高不同部门之间业务的整合效率,降低开发和维护成本。 概念1:BPM(业务流程...
1. **jbpm基础**:介绍jbpm的基本架构,包括工作流引擎、任务服务、流程定义(BPMN2.0)和业务规则引擎(Drools)等组成部分,以及它们如何协同工作来处理业务流程。 2. **流程建模**:详细讲解如何使用BPMN2.0语言...
### 一、jBPM基础知识 1. **流程定义**: jBPM使用Business Process Model and Notation(BPMN)2.0标准来表示业务流程,这是一个图形化的建模语言,便于理解和设计流程。 2. **流程实例**: 当一个流程定义被执行时...
1. **JBPM基础**:了解JBPM的基本概念、架构和组件,如流程定义语言(BPMN)、流程引擎、任务服务等。 2. **业务流程建模**:学习使用BPMN 2.0标准来创建和编辑流程模型,理解各种流程元素如开始事件、结束事件、...
总的来说,这个主题资料包提供了jbpm4和jbpm5的基础知识、实战经验和用户操作指导,对于想要学习或深化jbpm流程管理框架理解的开发者非常有价值。通过学习这些文档,开发者可以掌握jbpm的核心概念,熟练地设计和部署...
"HelloWorld"是学习任何新技术时的经典入门示例,Jbpm HelloWorld则是对Jbpm基础功能的初步探索。 在这个项目中,我们将深入理解Jbpm的核心概念和组件,以及如何通过编写简单的代码来实现一个工作流实例。Jbpm的...
本套基础视频教程将引导学习者深入理解jbpm的核心概念和技术。首先,我们会介绍jbpm的安装与配置,包括下载jbpm的最新版本,设置开发环境,如集成IDEA或Eclipse等开发工具,并讲解如何配置数据库连接,以便jbpm能够...
1. **JBPM基础**:理解工作流的概念,JBPM架构及其组件,如流程定义、任务服务、执行服务等。 2. **BPMN 2.0**:学习BPMN语言,如何用XML编写流程定义,包括开始事件、结束事件、任务、网关等元素。 3. **流程实例的...
...................................15 1.3.3 测试helloworld流程......................16 第 2 章 jBPM 基础...........................................19 2.1 JbpmConfiguration和 JbpmContext..................
**jBPM4入门基础环境配置** jBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jBPM4是其第四个主要版本,它提供了丰富的功能,包括流程定义、...
总之,jBpm 3.1.2是业务流程自动化领域的一个强大工具,它为开发高效、灵活的工作流应用提供了坚实的基础。无论是对于企业内部的流程优化,还是为客户提供定制化的流程解决方案,jBpm都是一个值得信赖的选择。通过...