`
sunqitang
  • 浏览: 76804 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

工作流基础(JBPM)

阅读更多

网上jbpm教程:开发入门指南

 

 

1 流程定义

    用图形化工具来定义流程。产生xml文件。

2 部署

 

               JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();
		GraphSession graphSession = jbpmContext.getGraphSession();
		ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("edu/hust/jbpm/processdefinition.xml");
		
//部署流程定义,如果已经存在同名的定义,则版本号会自动累加
		graphSession.deployRprcessDefinition(processDefinition);

		jbpmContext.close();

 3 加载和启动流程

               JbpmContext jbpmContext = jbpmConfiguration.getInstance().createJbpmContext();
		GraphSession graphSession = jbpmContext.getGraphSession();
		//加载流程定义,根据processDefinitionId来加载
		ProcessDefinition processDefinition = graphSession.loadPrcessDefinition(processDefinitionId);
		//创建流程实例:启动流程
		ProcessInstance processInstance = new ProcessInstance(processDefinition);
		
		//此时,rootToken指向流程定义的第一个节点
		jbpmContext.save(processInstance);
		jbpmContext.close();

 4 如何获取工作列表

      获取待办列表

		JbpmContext jbpmContext = JbpmContext.getInstance().createJbpmContext();
		TaskMgmtSession taskMgmtSession = jbpmContext.getTaskMgmtSession();
		//只能获取尚未完成的任务列表(待办任务)
		List list = taskMgmtSession.findTaskInstance(userId);

		jbmpContext.close();

  5 如何执行任务

		JbpmContext jbpmContext = JbpmContext.getInstance().createJbpmContext();
		TaskMgmtSession taskMgmtSession = jbpmContext.getTaskMgmtSession();
		TaskInstance taskInstance = taskMgmtSession.loadTaskInstance(id);
		//任务开始执行
		taskInstance.start();

		//保持任务信息
		jbpmContext.save(taskInstance);

		jbmpContext.close();

 start()标准着一个任务执行的开始:任务的开始时间会被充实。

也可以带入(actionId)来主动参与任务的执行

 

6 如何任务的结束

		JbpmContext jbpmContext = JbpmContext.getInstance().createJbpmContext();
		TaskMgmtSession taskMgmtSession = jbpmContext.getTaskMgmtSession();
		TaskInstance taskInstance = taskMgmtSession.loadTaskInstance(id);
		//任务结束执行
		taskInstance.end();

		//保持任务信息
		jbpmContext.save(taskInstance);

		jbmpContext.close();

 end()标准着一个任务执行的结束:任务的结束时间会被充实。

也可以带入(actionId)来主动参与任务的执行

 

7 JBPM中主要的API

  (一)JbpmContext

    职责:对实例数据的操作,基于对事物的操作;用于获取GraphSession对象

    方法:

Connection getConnection(); 
Session getSession();
public GraphSession getGraphSession();
public TaskMgmtSession getTaskMgmtSession();
public LoggingSession getLoggingSession();
public SchedulerSession getSchedulerSession();
public void close();

   例子:

		JbpmContext jbpmContext = JbpmContext.getInstance().createJbpmContext();
		try{
			TaskInstance taskInstance = ...

				... 流程操作...
			jbpmContext.save(taskInstance);
		}catch(Throwable a){
			// process exception here
		}try{
			jbpmContext.close();
		}

 (二)GraphSession

  职责:Graph相关的数据持久化操作;主要是ProcessDefinition和ProcessInstance

  方法:

public void saveProcessDefinition(ProcessDefinition processDefinition)
public ProcessDefinition loadProcessDefinition(long processDefinitionId)
public ProcessDefinition findProcessDefinition(String name,int version)
public List findAllProcessDefinition()
public void saveProcessInstance(ProcessInstance processInstance)
public ProcessInstance loadProcessInstance(long proessInstanceId)
public List findProcessInstances(long processDefinitionId)
Delete方法

 (三)TaskMgmtSession

职责:TaskInstance相关的数据查询操作;TaskInstance数据通过ProcessInstance进行保存

方法:

public List findTaskInstances(String actorId)
public List findPooledTaskInstance(String actorId)
public List findTaskInstanceByToken(long tokenId)
public TaskInstance loadTaskInstance(long taskInstanceId)
没有save方法,save是通过对processInstance的操作实现
 

8 编程步骤总结

 

 

1 创建流程定义
2 部署路程定义
3 启动流程实例
4 获取任务列表
5 执行任务
6 结束任务
分享到:
评论

相关推荐

    jbpm工作流 基础视频

    总的来说,这套jbpm工作流基础视频教程旨在帮助初学者快速上手,掌握jbpm的基本操作和应用。通过观看jbpm-overview.swf文件,学习者可以直观地了解jbpm的全貌,为进一步深入学习和实践打下坚实基础。在实际工作中,...

    jbpm工作流整合

    jbpm工作流整合是一个关键的主题,它涉及到企业级业务流程管理(BPM)系统的实施与集成。jbpm是一个开源的工作流管理系统,它提供了一套全面的工具和框架,用于设计、执行、监控和优化业务流程。这个压缩包可能包含...

    工作流基础之JBPM

    工作流基础之JBPM 工作流(Workflow)是企业中业务流程自动化的一种方式,它将复杂的业务流程转化为计算机可执行的逻辑,以便更好地管理和协调各参与者的任务和信息交互。工作流管理系统(WfMS)是实现这一目标的...

    .Net 版工作流引擎JBPM

    工作流引擎JBPM,全称为Java Business ...开发者需要具备.NET编程基础,了解BPMN规范,以及对工作流管理理论有深入的理解。这样的系统可以帮助企业提高业务流程的效率,降低运营成本,并实现流程的标准化和规范化。

    jBPM4工作流应用开发指南.pdf

    - **基础概念:** 介绍工作流、BPMN(业务流程建模符号)、jBPM4中的关键术语和概念,帮助开发者建立基础知识体系。 - **流程定义:** 深入讲解jPDL、流程图的创建和编辑,让开发者学会如何定义业务流程。 - **...

    jbpm Java工作流 教程

    #### 三、工作流引擎基础 工作流引擎是JBPM的核心组件,负责解析流程定义,执行流程实例,并管理流程的状态变迁。它主要包括以下关键概念: 1. **流程定义**:用BPMN 2.0标准定义的业务流程模型,可以使用图形化...

    工作流开发jbpm工作流开发jbpm

    ### jBPM工作流开发详解 #### 一、引言 随着企业业务流程日益复杂,工作流管理系统(Workflow Management System, WfMS)逐渐成为提高工作效率、实现业务自动化的重要手段。jBPM作为一款功能强大的开源工作流引擎...

    jbpm2.rar_java 工作流_jbpm_工作流

    "java 工作流"和"jbpm 工作流"标签进一步明确了主题,这是一份关于使用Java语言和JBPM框架实现工作流的材料。 描述中提到的“jbpm工作流视频文件,B5实战_将复杂业务数据模型关联到流程”表明,这份资料可能是以...

    JBPM工作流全套学习资料

    【JBPM工作流全套学习资料】是一份详尽的学习资源,涵盖了JBPM工作流系统的基础到高级知识。JBPM(Java Business Process Management)是开源的企业级工作流管理系统,它允许开发者设计、部署和执行业务流程。这个...

    基于JBPM工作流的OA办公系统

    【基于JBPM工作流的OA办公系统】是一个企业级的应用,它利用了JBPM这一强大的工作流引擎来实现办公自动化。JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了一整套流程定义、执行、...

    jbpm4研究-工作流

    JBPM(Java Business Process Management)是一种开源的工作流管理系统,用于设计、执行和管理业务流程。本文将深入探讨如何利用JBPM构建一个通用的流程设计方案,包括流程设计、流程发布、流程表单设计以及系统扩展...

    JBPM工作流详解

    #### 一、工作流基础与概念 **工作流**(Workflow)是指业务过程的部分或整体在计算机应用环境下的自动化。它主要用于实现文档、信息或任务在多个参与者之间的自动传递,以达成某个特定的业务目标。 **工作流管理...

    工作流引擎开发包jbpm

    jbpm工作流引擎是一款强大的开源工作流管理系统,用于构建企业级的应用程序,它允许开发者定义、执行和管理工作流程。...尽管这个版本相对较老,但其基础概念和工作原理对于学习现代工作流管理系统仍有很高的参考价值。

    jbpm工作流简单实例

    对于初学者而言,通过实践jbpm的简单实例,可以快速掌握工作流的基本概念和操作,为进一步深入学习和应用奠定基础。在实际项目中,jbpm可以有效地提高工作效率,减少人为错误,提升业务流程的规范化和智能化水平。

    JBPM教程 第一部分、(工作流开发基础-为什么学习工作流)

    JBPM,全称JBoss Business Process Management,是由Red Hat开发的一个开源工作流管理系统,它提供了全面的工作流和业务流程管理解决方案。本教程将带你深入理解JBPM的核心概念,以及为何在IT行业中学习和应用工作流...

    李腾飞JBPM工作流引擎代码test01到test04

    【李腾飞JBPM工作流引擎代码test01到test04】是一系列关于使用JBPM工作流引擎进行程序开发的示例代码。JBPM(Java Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程...

    jBPM工作流应用开发指南

    总的来说,《jBPM工作流应用开发指南》是一个全面的教程,涵盖了从基础理论到实践操作的各个环节。通过学习这个指南,开发者不仅能理解jBPM的核心原理,还能掌握实际开发中的技巧,从而在业务流程管理领域迈出坚实的...

    工作流入门jbpm开发指南

    jbPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了全面的业务流程管理和工作流解决方案。对于希望深入了解和应用工作流技术的初学者来说,jbPM是一个理想的学习平台。本指南将带你一...

    Spring与JBoss JBPM工作流集成开发指南

    Spring与JBoss JBPM工作流集成开发指南 Spring与JBoss JBPM工作流集成开发指南是关于JBPM与Spring框架集成的开发文档,涵盖了工作流的基本概念、设计要点、常见问题解答、参考资源等。下面是从该文件中生成的相关...

Global site tag (gtag.js) - Google Analytics