1、初始化:
websale中jbpmContext的创建是在filter中完成的,其类为org.jbpm.webapp.filter.JbpmContextFilter。该filter在init方法中初始化jbpmConfigurationResource及jbpmContextName两个string。每个http request,均由filter创建jbpmContext,代码为:
JbpmConfiguration jbpmConfiguration=getJbpmConfiguration();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(jbpmContextName);
bean中通过JbpmContext.getCurrentJbpmContext()获取当前的JbpmContext实例。比如HomeBean初始化代码:
...
public HomeBean() {
    this.jbpmContext = JbpmContext.getCurrentJbpmContext();
    this.graphSession = jbpmContext.getGraphSession();
    this.taskMgmtSession = jbpmContext.getTaskMgmtSession();
}
...
2、启动流程
启动流程执行HomeBean的startProcessInstance方法:
  public String startProcessInstance() {
    // 从http request获取processDefinitionId参数,装载流程定义(jsfHelper是一个工具类,集合了一些jsf常用的功能)
    long processDefinitionId = JsfHelper.getId("processDefinitionId");
    ProcessDefinition processDefinition = graphSession.loadProcessDefinition(processDefinitionId);
// 创建新的流程实例
    ProcessInstance processInstance = new ProcessInstance(processDefinition);
// 创建任务实例
    TaskInstance taskInstance = processInstance.getTaskMgmtInstance().createStartTaskInstance();
// 保存流程实例和任务实例
    jbpmContext.save(processInstance);
   
    // 设置taskBean
    taskBean.initialize(taskInstance);
   
    //跳转到task.jsp
    return "task";
  }
其中taskBean.initialize(taskInstance)做了如下工作:
a、初始化taskBean,并生成TaskFormParameter对象,设置TaskFormParameter对象属性并将该对象添加入taskFormParameters的LIST对象中。而taskFormParameters对象则设置到session中。
b、获取jbpm转换,如果有转换,设置相应的数据
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jonim/archive/2006/10/09/1327307.aspx

转载于:https://blog.51cto.com/77857/163619

流程启动(Jbpm)相关推荐

  1. Activiti 流程启动及节点流转源代码分析

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking 本文主要是以activiti-study中的xiaomage.xml流程图为例进行跟踪分析 详细的 ...

  2. Flowable流程启动源码分析

    流程启动过程 1.源码执行过程 runtimeService.createProcessInstanceBuilder().processDefinitionKey(instanceTrigger.g ...

  3. 架设KMS服务器流程启动加载方法

    架设KMS服务器流程 启动加载方法 架设KMS服务器流程--启动加载方法 以下操作 root 一.准备Centos服务器CentOS-8.4.2105 1.下载http://mirrors.163.c ...

  4. activiti使用心得(4) 请假申请单流程启动,任务列表、审批

    相关文章 activiti使用心得(1) spring 集成activiti activiti使用心得(2) activiti的web应用 请假审批为例,bpmn文件的定义 activiti使用心得( ...

  5. Netty学习笔记(二)Netty服务端流程启动分析

    先贴下在NIO和Netty里启动服务端的代码 public class NioServer { /*** 指定端口号启动服务* */public boolean startServer(int por ...

  6. 启动管理-启动流程-启动过程(有流程图)

    文章目录 前言 1. 启动过程流程图 2. 对启动过程的解读 2.1 从BIOS--->内核解压并自检 2.2 从找到intramfs-->挂载真正的根目录 2.2.1 查看initram ...

  7. 大学SQLServer2012 安装流程+启动+登录+用户的操作

    这里写目录标题 第一步下载解压的文件 第二步骤安装软件 第三步执行安装选项 执行安装选项1 执行安装选项2 执行安装选项3 同意条款 执行安装选项4配置检测 执行安装选项5 下载需求组件 执行安装选项 ...

  8. JBoss 系列八十: jBPM 6 中使用 jbpm-console 创建执行 BPM 流程 - I

    2019独角兽企业重金招聘Python工程师标准>>> 本文通过如下步骤说明如何在 jBPM console 创建执行BPM流程. 安装jBPM6,添加用户kylin到jBPM 6用 ...

  9. jboss启动初始页面_JBoss BRMS最佳实践– BPM流程初始化层的提示

    jboss启动初始页面 我过去发布过一些有关迁移策略的文章,仔细研究了流程层,并提供了一些有关jBPM的最佳实践 ,它们都涉及到BPM策略的非常具体的部分. 我想重新讨论最佳实践的主题,然后在智能集成 ...

最新文章

  1. 工资倒挂也刺激不了已是咸鱼的你
  2. iOS开发中接口调用使用https
  3. Node.js Web 模块
  4. UOJ58 【WC2013】糖果公园
  5. java求阶乘的程序_按要求编写Java程序(阶乘)
  6. DataNode的流式接口
  7. SQL Server Report Server 报表用户权限T-SQL查询
  8. 狂人日记学习 之七 三列浮动中间列宽度自适应
  9. C空间不够如何盘瘦身
  10. 黑客帝国中代码雨如何实现?用 Python 就可以!
  11. java5 64_java8 64位(官方免费版下载2020)
  12. nf_conntrack: table full, dropping packet
  13. css加载中lodding遮罩动画
  14. leetcode 5230 Check If It Is a Straight Line
  15. 【Proteus仿真】按键设置+数码管显示
  16. 常见的电脑系统故障原因及解决办法
  17. 学渣的刷题之旅 leetcode刷题 20.有效的括号
  18. 计算机逻辑算法,算法逻辑
  19. H5 (React) 移动端监听软键盘弹起、收起
  20. 秒杀项目学习笔记-异常处理

热门文章

  1. matlab 颜色图名称
  2. ROM、PROM、EPROM、EEPROM、RAM、SRAM、DRAM的区别
  3. 【 MATLAB】Subspace algorithm Simulation of TOA - Based Positioning
  4. Efficiency / Relative Efficiency and the Efficient Estimator
  5. Xilinx IP核专题之PLL IP核介绍(Spartan-6)
  6. Virtex-6中的SelectIO模块
  7. Python使用xlrd和xlwt读取和写入excel详细教程
  8. 服务容错保护断路器Hystrix之二:Hystrix工作流程解析
  9. 转MFC消息映射梳理
  10. HTML5最新漏洞:用户硬盘或被垃圾数据塞满