屬性名 | 類(lèi)型 | 描述 |
集合類(lèi)型流程變量來(lái)源——流程變量 | 字符串 | 該屬性定義流程變量表達(dá)式運(yùn)行時(shí)計(jì)算的值類(lèi)型要求必須是集合類(lèi)型(java.util.Collection類(lèi)型或Object[]類(lèi)型),這個(gè)運(yùn)行時(shí)產(chǎn)生的集合類(lèi)型的值內(nèi)部元素的數(shù)量,決定流程實(shí)例在流經(jīng)當(dāng)前節(jié)點(diǎn)時(shí)會(huì)產(chǎn)生多少條并行的分支流程實(shí)例,再配置后面的寫(xiě)入分支的變量名屬性,將該集合中每個(gè)元素取出來(lái),以“寫(xiě)入分支的變量名”屬性定義的值作為變量名,寫(xiě)入產(chǎn)生的各個(gè)分支當(dāng)中。 |
集合類(lèi)型流程變量來(lái)源——實(shí)現(xiàn)類(lèi)Bean | 字符串 | 該屬性定義的是一個(gè)實(shí)現(xiàn)了com.bstek.uflo.process.handler.ForeachHandler接口配置在Spring當(dāng)中的bean的ID,這個(gè)配置在Spring中的Bean將在運(yùn)行時(shí)調(diào)用其handle方法,可以看到該方法返回的同樣是一個(gè)集合類(lèi)型的值(java.util.Collection類(lèi)型),同樣這個(gè)運(yùn)行時(shí)產(chǎn)生的集合類(lèi)型的值內(nèi)部元素的數(shù)量,決定流程實(shí)例在流經(jīng)當(dāng)前節(jié)點(diǎn)時(shí)會(huì)產(chǎn)生多少條并行的分支流程實(shí)例,再配置后面的寫(xiě)入分支的變量名屬性,將該集合中每個(gè)元素取出來(lái),以“寫(xiě)入分支的變量名”屬性定義的值作為變量名,寫(xiě)入產(chǎn)生的各個(gè)分支當(dāng)中。 |
寫(xiě)入分支的變量名 | 字符串 | 在通過(guò)“集合類(lèi)型流程變量來(lái)源”產(chǎn)生一個(gè)集合類(lèi)型的值后,引擎將會(huì)把該集合中的值拆分成與該集合大小相同量級(jí),再產(chǎn)生與該集合大小數(shù)量相同的并行分支,每個(gè)分支都以流程變量形式寫(xiě)入該集合對(duì)應(yīng)的一個(gè)元素的值,流程變量的名稱(chēng)就是這里的屬性定義的值。 |
與分支節(jié)點(diǎn)不同的是,動(dòng)態(tài)分支節(jié)點(diǎn)下產(chǎn)生的并行分支數(shù)量是由運(yùn)行時(shí)產(chǎn)生的集合類(lèi)型的值的集合的大小決定,所以動(dòng)態(tài)分支節(jié)點(diǎn)下有且只會(huì)有一條流出的連線,動(dòng)態(tài)產(chǎn)生的分支將會(huì)以這條唯一的分支為模版,動(dòng)態(tài)產(chǎn)生運(yùn)行時(shí)需要的各個(gè)并行分支。動(dòng)態(tài)分支節(jié)點(diǎn)對(duì)于我們大多數(shù)人來(lái)說(shuō)可能是UFLO當(dāng)中最為復(fù)雜的一個(gè)節(jié)點(diǎn)了,為了便于大家理解該節(jié)點(diǎn),這里畫(huà)了張示意圖,用于說(shuō)明動(dòng)態(tài)分支節(jié)點(diǎn)作用,如下圖所示。
從上圖當(dāng)中可以看到,動(dòng)態(tài)分支上產(chǎn)生的是一個(gè)字符串?dāng)?shù)組類(lèi)型的集合變量,這個(gè)數(shù)組中有三個(gè)值,分別是“aaa”、“bbb”和"ccc",同時(shí)寫(xiě)入分支的變量名又定義為"test",這樣在運(yùn)行時(shí),上圖中在動(dòng)態(tài)分支與聚合兩節(jié)點(diǎn)之間將會(huì)產(chǎn)生三條并行的流程實(shí)例,在這三條并行流程實(shí)例中分別都有一個(gè)名為test的流程變量,這個(gè)名為test的流程變量的值在三個(gè)不同分支中分別是“aaa”、“bbb”和"ccc",運(yùn)行時(shí)效果示意圖如下所示:
示意圖中向我們清楚的展示了動(dòng)態(tài)產(chǎn)生的三個(gè)并行分支,且每個(gè)分支上都有一個(gè)名為test的流程變量,它們的值就是集合中三個(gè)元素的值。在動(dòng)態(tài)分支節(jié)點(diǎn)上可添加的流入與流出連線數(shù)量如下表所示:
更多建議: