吐槽下CSDN 的下面这种版面就像一坨屎一样!!!!!!
记录学习Lemon OA 开源项目的过程:
下载最新的1.7.0版本的开源项目,地址是http://www.mossle.com/lemon.do,解压后运行startup.bat,启动服务,然后输入http://localhost:8080登录到页面上,登录帐号为:lingo 密码为:1,登录平台。
排他网关(也叫异或(XOR)网关,或更技术性的叫法 基于数据的排他网关), 用来在流程中实现决策。 当流程执行到这个网关,所有外出顺序流都会被处理一遍。 其中条件解析为true的顺序流(或者没有设置条件,概念上在顺序流上定义了一个'true') 会被选中,让流程继续运行。
注意这里的外出顺序流 与 BPMN 2.0 通常的概念是不同的。通常情况下,所有条件结果> 为true的顺序流 都会被选中,以并行方式执行,但排他网关只会选择一条顺序流执行。就是说,虽然多个顺序流的条件结果为true, 那么XML中的第一个顺序流(也只有这一条)会被选中,并用来继续运行流程。 如果没有选中任何顺序流,会抛出一个异常。
如果有多条外出流,会类似与if elseif的判断,每个外出流上都需要添加一个判断条件。
2.并行网关
网关也可以表示流程中的并发情况。最简单的并发网关是 并行网关,它允许将流程分成多条分支,也可以把多条分支 汇聚到一起。并行网关的功能是基于进入和外出的顺序流的:
- 分支: 并行后的所有外出顺序流,为每个顺序流都创建一个并发分支。
- 汇聚: 所有到达并行网关,在此等待的进入分支, 直到所有进入顺序流的分支都到达以后, 流程就会通过汇聚网关。
注意,如果同一个并行网关有多个进入和多个外出顺序流, 它就同时具有分支和汇聚功能。这时,网关会先汇聚所有进入的顺序流,然后再切分成多个并行分支。
与其他网关的主要区别是,并行网关不会解析条件。 即使顺序流中定义了条件,也会被忽略。
这里需要强调的是, 并行网关一定是成对出现的,有分支也要有汇聚,一个分支执行完毕后,需要等待其他分支全部执行完流程才会走到下一个节点。还有一个有意思的点是,流程开始执行后,点击流程监控发现,执行到并行网关中间的节点时,当前执行节点是显示在并行网关节点上,并不会显示到中间具体的一个节点,所以activiti是把两个并行节点间的所有任务节点,看作是一个事务。
包含网关可以看做是排他网关和并行网关的结合体。 和排他网关一样,你可以在外出顺序流上定义条件,包含
网关会解析它们。 但是主要的区别是包含网关可以选择多于一条顺序流,这和并行网关一样。 包含网关的功能
是基于进入和外出顺序流的:
-
分支: 所有外出顺序流的条件都会被解析,结果为true的顺序流会以并行方式继续执行, 会为每个顺序流
-
创建一个分支。
-
汇聚: 所有并行分支到达包含网关,会进入等待章台, 直到每个包含流程token的进入顺序流的分支都到
-
达。 这是与并行网关的最大不同。换句话说,包含网关只会等待被选中执行了的进入顺序流。 在汇聚之
-
后,流程会穿过包含网关继续执行。
注意,如果同一个包含节点拥有多个进入和外出顺序流, 它就会同时含有分支和汇聚功能。 这时,网关会先汇
聚所有拥有流程token的进入顺序流, 再根据条件判断结果为true的外出顺序流,为它们生成多条并行分支。
4.基于事件的网关:
来自 http://m.blog.csdn.net/article/details?id=52297403