package test;
import java.util.List;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.db.GraphSession;
import org.jbpm.db.TaskMgmtSession;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class Test {
//流程定义操作
public void define(){
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
GraphSession graphSession=jbpmContext.getGraphSession();
ProcessDefinition processDefinition=ProcessDefinition.parseXmlResource("");
graphSession.deployProcessDefinition(processDefinition);
jbpmContext.close();
}
//流程加载与开始
public void loadAndStart(){
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
GraphSession graphSession=jbpmContext.getGraphSession();
ProcessDefinition processDefinition=graphSession.loadProcessDefinition(1);
ProcessInstance processInstance=new ProcessInstance(processDefinition);
jbpmContext.save(processInstance);
jbpmContext.close();
}
//获取工作列表
public void taskList(){
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
TaskMgmtSession taskMgmtSession=jbpmContext.getTaskMgmtSession();
//只能获取尚未完成的任务列表(待办任务)
List list=taskMgmtSession.findTaskInstances("userId");
jbpmContext.close();
}
//执行任务
public void execute(){
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
TaskMgmtSession taskMgmtSession=jbpmContext.getTaskMgmtSession();
TaskInstance taskInstance=taskMgmtSession.getTaskInstance(1);
//start
taskInstance.start();
jbpmContext.save(taskInstance);
jbpmContext.close();
}
//结束任务
public void end(){
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
TaskMgmtSession taskMgmtSession=jbpmContext.getTaskMgmtSession();
TaskInstance taskInstance=taskMgmtSession.getTaskInstance(1);
//end
taskInstance.end();
jbpmContext.save(taskInstance);
jbpmContext.close();
}
//JbpmContest
public void JbpmContestAbout(){
//典型用法
JbpmContext jbpmContext=
JbpmConfiguration.getInstance().createJbpmContext();
try {
TaskInstance taskInstance=jbpmContext.getTaskInstance(1);
//do your process operations
jbpmContext.save(taskInstance);
} catch (Throwable e) {
// TODO: handle exception
} finally{
jbpmContext.close();
}
}
/**
* Graph相关的数据持久化操作
* 主要是ProcessDefinition和ProcessInstance
*
* 主要方法:
* public void saveProcessDefinition(ProcessDefinition processDefinition)
* public ProcessDefinition loadProcessDefinition(long processDefinitionId)
* public Processdefinition findProcessDefinition(String name,int versioin)
* public List findAllProcessDefinitions()
* pulbic void saveProcessInstance(ProcessInstance processInstance)
* public Processinstance loadProcessInstance(long processInstanceId)
* pulbic List findProcessInstances(long processDefinitionId)
* Delete方法
*
*/
/**
* TaskInstance相关数据查询操作
* TaskInstance数据通过ProcessInstance进行保存
*
* 主要方法:
* public List findTaskInstances(String actorId)
* public List findPooledTaskInstances(String actorId)
* pulbic List findTaskInstancesByToken(long tokenId)
* public TaskInstance loadTaskInstance(long taskInstanceId)
* 没有save方法,save是通过对processInstance的操作实现的
*
*/
}
分享到:
相关推荐
【JBPM入门】 JBPM,全称是Java Business Process Management,是一个开源的工作流管理系统,用于实现业务流程自动化。它提供了一套完整的工具集,包括设计、建模、执行和监控业务流程,支持BPMN2.0标准,使得业务...
首先,"jBPM 开发入门指南"提供了一个系统性的引导,涵盖了jBPM的基本概念、安装配置、工作流设计、任务管理和事件处理等内容。它通常会讲解如何创建第一个流程定义,以及如何使用jBPM提供的工具进行流程建模。通过...
**jbpm入门示例** 1. **安装与配置**:首先,你需要下载jbpm的最新版本并解压,然后配置相关的环境变量,如JAVA_HOME和JBOSS_HOME。同时,确保Maven或Gradle已安装,用于构建jbpm项目。 2. **创建第一个流程**:...
**JBPM4.4入门开发实例** JBPM(Java Business Process Management)是一个开源的工作流程管理系统,专注于业务流程的建模、执行和监控。版本4.4是JBPM的一个早期版本,尽管现在已经有更新的版本,但这个入门实例...
**jbpm4.4入门编程小例子** Jbpm(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jbpm4.4是该系统的较早版本,但它仍然是许多开发人员学习工作流...
JPBM4.4入门小例子,适合刚开始准备学工作流的筒子们。。
三、jbpm入门示例 在这个"myjbpm"压缩包中,你可能找到了一个简单的jbpm流程示例,通常包括以下组成部分: 1. 流程定义文件(.bpmn20.xml):用BPMN 2.0标准定义的流程图,描述了流程的任务和流转规则。 2. 图形文件...
以下代码展示了如何通过jBPM API打开会话、创建新的ProcessDefinition实例并提交事务: ```java JbpmSessionFactory factory = JbpmSessionFactory.buildJbpmSessionFactory(); JbpmSession session = factory....
- **编写业务逻辑**:在流程中嵌入Java代码或使用MVEL表达式实现任务的逻辑处理。 - **监听器和事件**:可以注册监听器来捕获流程中的特定事件,如任务开始、结束等,进行定制处理。 - **API调用**:通过jbpm的...
### JBPM5入门学习知识点详解 #### 一、JBPM5简介 **1.1 什么是JBPM** JBPM(Java Business Process Management)是一个开源的业务流程管理框架,旨在为开发者提供一个简单、灵活且可扩展的平台来设计、执行和...
- **jbpm文件**:解压后,这个文件可能包含流程定义文件(.bpmn2.xml)、数据库脚本、示例代码和说明文档。初学者可以通过分析这些文件了解流程的构建和执行方式。 - **文档阅读**:JBPM官方网站提供了详细的用户...
### jBPM 6.0 入门指南 #### 一、概述 ##### 1.1 什么是 jBPM? jBPM (JBoss Business Process Management) 是一个灵活且易于使用的业务流程管理(Business Process Management, BPM)框架,用于帮助开发者和业务...
【jbpm3 入门项目-环境搭建(1)】是一个关于学习和设置jbpm3工作流引擎的初始项目的教程。jbpm3是Java Business Process Management的第三版,它允许开发者设计、执行和管理业务流程。这篇博客文章,虽然链接不可在...
**jBPM4入门基础环境配置** jBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jBPM4是其第四个主要版本,它提供了丰富的功能,包括流程定义、...
### jBPM开发入门指南详解 #### 知识点一:jBPM概述与市场需求 jBPM,即Java Business Process Model,是一个用于构建业务流程管理(BPM)应用程序的开源框架,它允许开发者通过图形界面设计流程,并将这些流程...
### jBPM入门教程知识点详解 #### 一、jBPM简介与理解 - **jBPM**(**j**ava **B**usiness **P**rocess **M**odeling)是一个开源的工作流引擎,用于自动化业务流程。它不仅提供了一个灵活的流程执行引擎,还支持...