`
javapolo
  • 浏览: 131599 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jbpm4.4 命令者模式笔记

 
阅读更多

今天看jbpm文档的时候,看了下jbpm4.4的整体架构,看完之后也顺势debug了下jbpm的源代码,从源代码中小小体会了下jbpm的设计思想

 

先看下jbpm的整体架构,如下图

 

 

 

 

 

再看下jbpm在一个流程中的执行过程

 

 

 

 

从第一副图中可以看出,在jbpm中,它的一切都基于服务,只要你启动完成流程引擎之后。你便可以获取到它为你提供的各种服务,如上图所示的几大服务,processservice,executionservice,managerservice,commondservice,还有像historyservice,taskservice,repstorysrvice等,其中CommondService是核心,其实其他

服务最终都通过commondservice实现对客户请求的应答 

而图二我们可以看出,流程是通过一个execution实时跟踪,以判断当前节点是什么节点,当前节点是否有任务人,执行任务的是什么人,执行完成后

流程的走向是怎样,底层最终操作是通过数据库进行的。

 

今天主要体会了下jbpm的命令者设计模式,故自己举了个实例debug下,从中获取了些jbpm实现思想

 

(这个实例就是通过taskservice通过taskid获取task过程)

 

首先我们获取TaskService服务,其实它的本质是TaskServiceImpl的一个对象,它和TaskService关系下面图有描述,然后调用该服务的getTask(String taskId)方法

 

先看下TaskServiceImp里面的该方法的实现

public   Task getTask(String taskId)

{

  return  commondService.execute(new  GetTaskCmd());

 

}

 

 其中GetTaskCmd实际上就是一个具体的命令对象,它和jbpm里面的commond关系如下图所示

 

 

 

 而getTask(String taskId)方法里面的commondService其实是个命令服务接口,通过它可以执行所有的命令请求,在执行最终的GetTaskCmd真实命令对象之前,一般都会先执行SkipInterceptor,然后RetryInterceptor,EnvironmentInterceptor,(这三个interceptor其实就是上图系统架构里面看到的拦截器链).最终调用具体的命令对象,在GetTaskCmd中它覆盖commond<T>的execute方法如下

public    class   GetTaskCmd   extends  AbstructCommand<Task>

{

......................

 

public  Task  execute(Environment    environment)   throws  Exception

{
//通过系统环境拿到数据库操作的session
Dbsession   sbsession=environment.get(DbSession.class);

//通过hibernate反射封装生成一个TaskImpl对象返回客户

return     dbSession.get(TaskImpl.class,Long.parseLong(taskId));

 

 

}

}

 

 

最终通过GetTaskCmd 具体对象的execute方法,返回用户想要获取的TaskImpl对象

  • 大小: 7 KB
  • 大小: 16 KB
  • 大小: 19 KB
  • 大小: 7.8 KB
  • 大小: 5.6 KB
  • 大小: 12.1 KB
  • 大小: 8.6 KB
  • 大小: 7.4 KB
  • 大小: 7.5 KB
分享到:
评论

相关推荐

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM4.4这一开源工作流管理系统的重要参考资料。jBPM,全称Java Business Process Management,是一个用于执行业务流程的轻量级、灵活的开源框架,它为业务...

    jbpm4.4 工作流框架 笔记

    【jbpm4.4工作流框架笔记】 工作流(Workflow)是现代企业信息化的重要组成部分,其核心在于将复杂的业务过程自动化,确保多个参与者之间按照预设规则高效协作,达成预定的业务目标。工作流管理系统(WfMS)是实现...

    jbpm4.4下载地址

    在深入探讨jBPM 4.4的相关知识点之前,我们首先需要理解jBPM是什么以及它在企业级应用中的重要性。jBPM是“Java Business Process Model”的缩写,是一个开源的工作流引擎,用于执行业务流程管理(BPM)。它提供了...

    jbpm4.4文档+学习资料

    jbpm4.4是JBoss企业级业务流程管理(Business Process Management)平台的一个重要版本,它为开发者提供了全面的工作流和业务流程管理解决方案。本文将深入解析jbpm4.4的相关知识点,帮助那些寻找优质学习资源的朋友...

    jBPM4.4开发实例

    **jBPM4.4开发实例** jBPM(Java Business Process Management)是一个开源的工作流管理系统,用于管理和执行业务流程。jBPM4.4是该框架的一个版本,它提供了强大的工作流服务,包括流程定义、流程实例管理、任务...

    jbpm4.4中文开发指南

    **jbpm4.4中文开发指南** JBPM(Java Business Process Management)是一个开源的工作流管理系统,专注于业务流程的建模、执行和管理。jbpm4.4是该系统的某一版本,它提供了丰富的功能,包括流程定义、流程实例的...

    jBPM4.4开发指南

    ### jBPM4.4开发指南关键知识点解析 #### 一、工作流基础与概念 **1.... 工作流是指业务过程的部分或整体在计算机...这对于初学者来说是非常有用的参考资料,可以帮助他们快速入门并掌握 jBPM4.4 的核心知识和技术要点。

    jBPM 4.4用户手册 中文PDF

    **jBPM 4.4 用户手册 中文PDF** **jBPM 4.4** 是一个开源的工作流程管理系统,由Red Hat公司开发并维护,主要用于业务流程管理(BPM)和工作流自动化。该系统提供了强大的流程建模、执行和监控功能,支持Java平台,...

    JBPM4.4资料的其他补充

    1. **示例项目**:可能包含额外的示例代码或项目,帮助初学者快速理解如何在实际项目中应用JBPM4.4。 2. **文档更新**:可能是对原有文档的修正或补充,提供更详尽的操作指南和问题解答。 3. **工具升级**:可能...

    jbpm4.4 schema.xsd

    jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd

    jbpm4.4 shh2 项目示例

    jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...

    jBPM4.4 详解 API 中文

    ### jBPM4.4 API 详解:工作流自动化的核心技术 ...以上步骤不仅为jBPM4.4的开发环境搭建提供了详实的指南,同时也深入解析了工作流自动化的基本原理与jBPM4.4的工作机制,为IT从业者及开发者提供了宝贵的参考资料。

    JBPM4.4与SSH2之整合(附可运行源码和jar包列表)(my_jbpm4.4_ssh2.rar)

    JBPM4.4与SSH2之整合(附完整源码) 这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么差异(经过网上的收集对比,还真有些差异),整合起来,还真是有些步履艰难。收集了...

    jBPM4.4.rar_jbpm4_jbpm4.4

    "jBPM4.4.docx" 文件可能是关于 jbPM 4.4 示例的详细文档,它可能包含如何安装、配置、创建和运行流程实例的步骤,以及可能遇到的问题和解决办法,对于学习和使用 jbPM 4.4 是非常有价值的参考资料。 总结,jbPM ...

    jbpm4.4开发用户指南

    jBPM 4.4是Java Business Process Management(业务流程管理)的一个版本,它是一个开源的工作流管理系统,用于实现业务流程自动化。这个压缩包包含了两个关键文档:《jBPM 4.4 开发指南》和《jBPM 4.4 用户指南》,...

    JBPM4.4流程管理Demo(附学习资料)

    - 随附的学习资料可能包括JBPM4.4的官方文档、教程、示例代码解析等,对于初学者来说,这些资源可以帮助理解JBPM的工作原理和使用方法。 7. **项目结构与运行** - JBPM4.4Demo项目可能包含了Maven或Gradle构建...

    jbpm4.4+ssh

    【jbpm4.4+SSH】是一个集成的Java企业级应用框架,主要涉及的是工作流管理系统jbpm4.4与Spring、Struts2(SSH)三大框架的整合。jbpm4是一个开源的工作流程管理系统,它提供了流程定义、执行、监控和优化等一系列...

    jbpm4.4 流程运转+驳回+分配组任务+ssh2

    jbpm4.4是JBoss Business Process Management Suite的第4.4版本,它是一个开源的工作流和业务流程管理系统,用于构建、部署和管理业务流程。本教程将深入探讨jbpm4.4中的核心功能,包括流程运转、驳回、分配组任务...

    jbpm4.4表字段说明

    JBPM4.4是JBoss Business Process Management (BPM)平台的一个特定版本,它提供了用于设计、执行和管理业务流程的工具和框架。在JBPM4.4中,数据库是存储流程实例、流程定义以及相关元数据的关键部分。以下是关于...

Global site tag (gtag.js) - Google Analytics