工作流插件配置有关问题and工作流定义图的创建及常见接口作用简单介绍分析

工作流插件配置问题and工作流定义图的创建及常见接口作用简单介绍分析

1.下载lib到目录(但不要放在中文目录)
2.插件安装
   a. link方式(快捷方式)
   b. 复制方式(不是很好,插件很大)
3.配置插件
4.创建jbpm工程(new-> Project ->JBoss jBPM 文件下 Process Project .   在下一步时候就会用到所配置的jbpm。

关于怎么配置:Window->JBoss jBPM 下的 Runtim Locations   Add 一个 这时候就需用到jbpm的一个插件包jbpm-starters-kit-3.1.3  .Location框中选到jbpm-3.1.3文件夹即可

 

 

 


  src/test/java  用于测试包
  src/main/java  写java代码的
  src/main/config 配置文件的,如hibernate的配置..
  src/main/jpdl   用于设计流程的(重点)
 
    gpd.xml  没有多少用,设计时图片的座标
    processimage.jpg 设计生成的图片,用处不大
    processdefinition.xml 流程定义(最重要)
   
  节点:
    start
    state
    end
    以上三个节点任何人都可以给信号,才能进入下一节点
   
    taskNode
    也要给信号,但是是指定的人员才能给信号才能进入下一节点
   
    node
    无须给信号,自动进入下一节点 
   
    现在开始报帐流程
    开始-->写报销单-->送经理审核-->不同意-->结束


   Action  是一个方法,都要实现ActionHandler接口
   Event   何时去执行这个方法
           node-enter 进入节点会调用action
           node-leave 离开节点会调用action
   除了判断结点外都要写action,用于记录当前的状态
   或做其它事情,如发电子邮件      
          
   把action类写好之后,就要把流程图和类关联起来
  
  
   判断接口
   用于判断节点
   要实现DecisionHandlder接口
   下面要和判断接口关联起来
   复制这个头就要提示.还要复制spring没有提示
  
  
   委派处理接口 必须实现(AssignmentHandler) 接口
   用于任务节点,分配置任务
   下面类和节点关联
  

 

常见接口:

     

动作处理接口(ActioinHandler
接口方法:void execute( ExecutionContext executionContext ) throws Exception
该接口是jPDL中最常用的一个回调接口。从它的接口方法可以发现,它仅仅暴露了流程执行上下文变量ExecutionContext。用户程序通过ExecutionContext来了解流程的执行状态,并通过改变ExecutionContext中的属性值来影响流程的执行。
ActioinHandler接口可以在所有能包含事件(event)、动作(action)元素的地方被回调
 
判定处理接口(DecisionHandlder
接口方法:String decide(ExecutionContext executionContext) throws Exception
判定接口仅适用于判定节点(decision)中。从它的接口方法可以看出,方法要返回一个字符串型的结果,这个结果必须和判定节点拥有的转向(transition)集合中的一条转向名称相匹配。
DecisionHandlder的接口方法中一样能访问到ExecutionContext变量,这为判定提供了执行上下文的根据。当然,如果有必要,用户也可以在该接口中改变ExecutionContext中的变量值。
 
委派处理接口(AssignmentHandler
接口方法:void assign(Assignable assignable, ExecutionContext executionContext) throws Exception;
委派处理接口被用户任务元素(task)的委派(assignment)子元素中,它的职责很明确,就是将任务分配给指定的人员或角色。
AssignmentHandler接口的方法中,Assignable变量通常指任务实例(TaskInstance)。通过将ExecutionContextTaskInstance两个变量都暴露给接口方法,用户就可以根据流程上下文情况,来决定要将指定的任务分配个谁。