• activiti工作流引擎学习(二)


    1、连线

    如果bpmn文件和java文件放在同一目录下,需要配置buildPath;

    使用流程变量,设置连线需要的流程变量的名称,并设置流程变量的值,流程会按照指定的连线完成任务。

    1.1一个活动中可以指定一个或多个SequenceFlow(start只有一个,end中没有)
    1.2如果只有一个,则可以不适用流程变量设置codition的名称;多个则需要设置codition的名称,设置boolean 类型的表达式,用来判断应该执行的连线。

    /**
    	 * 完成我的任务
    	 * @return
    	 */
    	@RequestMapping("sequence/completeSeqTask")
    	public String completeSequenceTask(){
    		
    		String taskId = "32503";
    		
    		//完成任务的同时,设置流程变量,使用流程变量来指定完成任务
    		Map<String, Object> varMap = new HashMap<String, Object>();
    		varMap.put("message", "重要");
    		
    		processEngine.getTaskService().complete(taskId,varMap);
    		
    		return "完成任务" + taskId;
    	}
    

      

    2、排他网关

    1)一个排他网关对应一个衣裳的顺序流
    2)由排他网关流出的顺序流都有个conditionException元素,在内部维护返回boolean类型的决策结果
    3)决策网关只会返回一条结果,当流程执行到排他网关时,流程引擎会自动检索网关出口,从上到下检索如果发现第一条决策结果为true或者没有设置条件的(默认成立),则流出;
    4)如果没有任何一个出口符合,抛出异常
    5)使用流程变量,设置连线的条件,并按照连线的条件执行工作流,如果没有条件符合的条件,则以默认的连线离开

    3、并行网关


    1)一个流程中流程实例只有一个,执行对象有多个
    2)并行网关的功能是基于进入和外出的顺序流的:
    分支:并行后的所有外出顺序流,为每个顺序流都创建一个并发分支;
    汇聚:所有到达并行网关,在此等待的进入分支,直到所有进入顺序流的分支都到达后,流程就会通过汇聚网关;
    3)并行网关的进入和外出都是使用相同节点标识
    4)如果同一个并行网关有多个进入和多个外出顺序流,它就同时具有分支和聚合功能;
    5)并行网关不会解析条件,即使顺序流中定义了条件,也会被忽略;
    6)并行网关不需要是“平衡的”(比如:对应并行网关的进入和外出节点数目不一定相等)如图:


    4、流程实例的开始和结束
    启动流程实例就走了start节点,结束节点没有出口;
    其他节点有一个(单线流程)或多个出口(并发流程);
    判断流程是否结束可查询流程实例表是否有正在执行的流程实例

    5、接收活动(receiveTask,即等待活动)
    接收任务是一个简单任务,他会等待回应消息的到达,当前,官方只实现了这个任务的java语义,当流程达到接受任务,流程状态会保存到数据库中;
    在任务创建后,意味着流程会进入等待状态,知道引擎接收了一个特定的消息,这会触发流程穿过接收任务继续执行;

    当前任务(一般指机器自动完成,但需要小号一定时间的工作)完成后,向后推移流程,可以调用runtimeService.signal(executionId)传递接收执行对象的id.

  • 相关阅读:
    Activiti7工作流+SpringBoot
    他为何放弃580万年薪 拿月薪500元跟马云创业(眼光毒辣,半年的机会损失不算大,大不了再干会本行)
    周鸿祎在360新员工入职培训上的讲话(他们都是太聪明,把自己混失败了。大家一定要记住,混日子就是在糜费自己的时间。假设你不喜欢360,你一定要尽快换,尽快找到自己喜欢的事情)
    Apache多虚拟主机多版本PHP(5.3+5.6+N)共存运行配置全过程
    估值800亿的小米,宣布正式进军欧洲市场
    英特尔投资:7200万美元投资12家创新公司,包括3家中国公司(www.intelcapital.com)
    应用监控Metrics
    六大原则理
    PostgreSQL
    CAP原理和BASE思想
  • 原文地址:https://www.cnblogs.com/HHR-SUN/p/11202355.html
Copyright © 2020-2023  润新知