`
yonglin4605
  • 浏览: 187675 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JBPM入门代码

    博客分类:
  • jBPM
阅读更多
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入门】 JBPM,全称是Java Business Process Management,是一个开源的工作流管理系统,用于实现业务流程自动化。它提供了一套完整的工具集,包括设计、建模、执行和监控业务流程,支持BPMN2.0标准,使得业务...

    jbpm 入门及帮助文档

    首先,"jBPM 开发入门指南"提供了一个系统性的引导,涵盖了jBPM的基本概念、安装配置、工作流设计、任务管理和事件处理等内容。它通常会讲解如何创建第一个流程定义,以及如何使用jBPM提供的工具进行流程建模。通过...

    jbpm例子代码(入门)

    **jbpm入门示例** 1. **安装与配置**:首先,你需要下载jbpm的最新版本并解压,然后配置相关的环境变量,如JAVA_HOME和JBOSS_HOME。同时,确保Maven或Gradle已安装,用于构建jbpm项目。 2. **创建第一个流程**:...

    JBPM4.4入门开发实例

    **JBPM4.4入门开发实例** JBPM(Java Business Process Management)是一个开源的工作流程管理系统,专注于业务流程的建模、执行和监控。版本4.4是JBPM的一个早期版本,尽管现在已经有更新的版本,但这个入门实例...

    jbpm4.4入门编程小例子

    **jbpm4.4入门编程小例子** Jbpm(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jbpm4.4是该系统的较早版本,但它仍然是许多开发人员学习工作流...

    JBPM4.4 入门小例子

    JPBM4.4入门小例子,适合刚开始准备学工作流的筒子们。。

    jbpm开发入门指南的例子

    三、jbpm入门示例 在这个"myjbpm"压缩包中,你可能找到了一个简单的jbpm流程示例,通常包括以下组成部分: 1. 流程定义文件(.bpmn20.xml):用BPMN 2.0标准定义的流程图,描述了流程的任务和流转规则。 2. 图形文件...

    jbpm入门案例.docx

    以下代码展示了如何通过jBPM API打开会话、创建新的ProcessDefinition实例并提交事务: ```java JbpmSessionFactory factory = JbpmSessionFactory.buildJbpmSessionFactory(); JbpmSession session = factory....

    jbpm开发入门指南

    - **编写业务逻辑**:在流程中嵌入Java代码或使用MVEL表达式实现任务的逻辑处理。 - **监听器和事件**:可以注册监听器来捕获流程中的特定事件,如任务开始、结束等,进行定制处理。 - **API调用**:通过jbpm的...

    JBPM5入门学习.doc

    ### JBPM5入门学习知识点详解 #### 一、JBPM5简介 **1.1 什么是JBPM** JBPM(Java Business Process Management)是一个开源的业务流程管理框架,旨在为开发者提供一个简单、灵活且可扩展的平台来设计、执行和...

    JBPM 公文管理快速入门程序

    - **jbpm文件**:解压后,这个文件可能包含流程定义文件(.bpmn2.xml)、数据库脚本、示例代码和说明文档。初学者可以通过分析这些文件了解流程的构建和执行方式。 - **文档阅读**:JBPM官方网站提供了详细的用户...

    jbpm6.0 入门(很有权威)

    ### jBPM 6.0 入门指南 #### 一、概述 ##### 1.1 什么是 jBPM? jBPM (JBoss Business Process Management) 是一个灵活且易于使用的业务流程管理(Business Process Management, BPM)框架,用于帮助开发者和业务...

    jbpm3 入门项目-环境搭建(1)

    【jbpm3 入门项目-环境搭建(1)】是一个关于学习和设置jbpm3工作流引擎的初始项目的教程。jbpm3是Java Business Process Management的第三版,它允许开发者设计、执行和管理业务流程。这篇博客文章,虽然链接不可在...

    jBPM4入门基础环境配置

    **jBPM4入门基础环境配置** jBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jBPM4是其第四个主要版本,它提供了丰富的功能,包括流程定义、...

    JBPM5.1入门学习

    ### JBPM5.1入门学习知识点详解 #### 1. 什么是JBPM JBPM,全称为Java Business Process Management(业务流程管理),是一款开源的、轻量级且高度可扩展的业务流程管理框架。该框架旨在帮助企业管理和优化其业务...

    jBPM开发入门指南

    ### jBPM开发入门指南详解 #### 知识点一:jBPM概述与市场需求 jBPM,即Java Business Process Model,是一个用于构建业务流程管理(BPM)应用程序的开源框架,它允许开发者通过图形界面设计流程,并将这些流程...

    掌握的jBPM的入门教程.doc

    ### jBPM入门教程知识点详解 #### 一、jBPM简介与理解 - **jBPM**(**j**ava **B**usiness **P**rocess **M**odeling)是一个开源的工作流引擎,用于自动化业务流程。它不仅提供了一个灵活的流程执行引擎,还支持...

Global site tag (gtag.js) - Google Analytics