jPDL流程定义语言_第1页
jPDL流程定义语言_第2页
jPDL流程定义语言_第3页
jPDL流程定义语言_第4页
jPDL流程定义语言_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JPDL分析JPDL的文件格式以及流程定义. ProccesssProccesss属性列列表:nameestriing必选流程在用用户交互互中显示示名称或或标签key数字字符符和下划划线如果省略略,keey会根根据naame替替换所有有不是数数字的子子符和下下划线.可选区分不同同流程定定义的属属性.一一个流程程定义有有多个版版本可以以使用相相同的kkey.在多个个版本中中keyy:naame结结构必须须相同.verssionninteegerr由1开始始,新版版本比当当前最高高版本的的verrsioon要高高.optiionaal流程版本本号Proccesss嵌套标标签列表表:desccrip

2、ptioon描述actiivitties(下下面的所所有标签签)一系列类类型节点点可以嵌嵌套到里里面.至至少有一一个sttartt节点.JPDLL节点标标签介绍绍全局标签签tns:onon中的的属性:conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypeesyncc|asynnc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.evenntstriing可选指定的EEvennt.sst

3、arrt,eend,tassk或者者其他的的cusstomm evventt.on中可可以嵌套套的标签签(可选选):timeer计时器,当计时时器发动动的时候候,所有有引用该该timmer的的eveent lisstennerss将会被被通知.evennt-llistteneerevennt llistteneer的实实现对象象.(uuserr guuidee 6.5.11)hql定义HQQL qquerry读取取数据库库并将结结果保存存到prroceess varriabble中中.sql定义SQQL qquerry读取取数据库库并将结结果保存存到prroceess varriabble中中

4、.javaa配置当前前运行节节点运行行的cllasss.assiign将接收到到的vaaluee分配到到目标位位置.scriipt执行一个个scrriptt.maill指定发送送emaail的的内容,以及多多个接收收者.tns:traansiitioontrannsittionn中的属属性:g HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypeesyncc|asynnc|excllusiivesyncc可选使用流程程设计

5、工工具时,图象大大小和坐坐标信息息.nameestriing可选该traansiitioon的名名称tostriing可选该traansiitioon的目目的地.trannsittionn中可以以嵌套的的标签(可选):desccripptioon描述evennt-llistteneerevennt llistteneer的实实现对象象.(uuserr guuidee 6.5.11)hql定义HQQL qquerry读取取数据库库并将结结果保存存到prroceess varriabble中中.sql定义SQQL qquerry读取取数据库库并将结结果保存存到prroceess varriabbl

6、e中中.javaa配置当前前运行节节点运行行的cllasss.assiign将接收到到的vaaluee分配到到目标位位置.scriipt执行一个个scrriptt.maill指定发送送emaail的的内容,以及多多个接收收者.Userr coode在JPDDL中,许多标标签引用用一个对对象,其其中的接接口将会会被调用用。用户代码码的配置置:classsstriingclaass|exppr 其中之一是必必须的全类名。初始化化只会进进行一次次, 用用户对象象会被作为为流程定定义的一一部分进进行缓存存。exprrstriingclaass|exppr 其中之一是必必须的表达式的的值会当当做目标标对

7、象被被获得。表达式会在每每次使用用时被执执行。用户代码码的配置置中的元元素(可可选)fielld0*描述一个个配置值值,在用用户类使使用之前前注入到到成员变变量中。proppertty 0*描述一个个配置值值,在用用户类使使用之前前通过一一个seetteer方法法进行注注入。fielld和pproppertty的属属性nameestriing必填名称fielld 和和prooperrty 包含的的元素:fieeld 和prropeertyy 元素素都拥有有一个子子元素, 表示示将被注注入的值值。striing01a jaava.lanng.SStriingint 011a jaava.lann

8、g.IInteegerrlongg01a jaava.lanng.LLonggfloaat01a jaava.lanng.FFloaatdoubble01a jaava.lanng.DDoubbletruee01Boolleann.TRRUEfalsse01Boolleann.FAALSEEobjee01会通过反反射初始始化的对对象基本类型型strringg, iint, loong, flloattandd dooublle 的的属性:valuuetextt必填textt值会被被解析成成期望的的类型custtom调用用户户代码,以实现现自定义义行为的的活动。custtom的的属性:autoo

9、-wrriteestriing可选指明是否否根据pproppertty nnamee,tyype跟跟objjectt naame,typpe自动动绑定mmembber fieeld和和settterr prropeertyy.cachhetruee|on|enabbledd|falsse|off|disaablee可选指明usser codde是否否应该缓缓存.classsstriing可选classs名称称.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o

10、 simpleType tns:conntinnueTTypeesyncc|asynnc|excllusiive可选指定同步步,异步步或互斥斥的.exprrstriing可选提供obbjecct的表表达式facttoryystriing可选facttoryy obbjecct的名名称.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.langgstriing可选声明语言言methhodstriing可选facttoryy meethood名称称nameestriing可选节点名称称,名称称应该在在整个流流程中是是唯一的的.custtom嵌嵌套的标标签desccripptio

11、on描述.facttoryy描述faactoory obeect.consstruuctoor描述非默默认的cconsstruuctoor的输输入参数数.argfacttoryy方法的的输入参参数.fielld向objjectt注入成成员字段段的值.proppertty通过seetteer方法法注入一一个值.一个子子标签必必须定义义它的值值.invooke调用一个个方法. HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:tran

12、sition trannsittionn全局标签签,向外外的转移移exammplee 从Cusstomm节点的的PriintDDos行行为类,可以看看出cuustoom节点点可以在在实现ccusttom节节点行为为的时候候,控制制流程.在这种种情况下下,PrrinttDotts节点点在打印印后会在在等待,知道收收到信号号为止.publlic claass PriintDDotss immpleemennts ExtternnalAActiivittyBeehavviouur prrivaate staaticc fiinall loong serriallVerrsioonUIID = 1LL

13、; puubliic vvoidd exxecuute(ActtiviityEExeccutiion exeecuttionn) Strringg exxecuutioonIdd = exeecuttionn.geetIdd(); Strringg doots = .; Sysstemm.ouut.pprinntlnn(doots); exeecuttionn.waaitFForSSignnal(); puubliic vvoidd siignaal(AActiivittyExxecuutioon eexeccutiion, SStriing siggnallNamme, MMap ppara

14、ametterss) exeecuttionn.taake(siggnallNamme); evennt-llistteneerevennt-llistteneer 是是用户代代码,所以它它可以像像第2.3.11节“cusstomm”中一样样进行配配置。任何自动动活动(包括eevennt-llistteneer)在在事件中中,可以以指定下下面的额额外属性性:proppagaatioonenabbledd|disaableed|truee|falsse|on|offdisaableed可选指定事件件监听器器应该也也被传播播的事件件调用。envnnt-llistteneer嵌套套的标签签descc

15、ripptioon描述.facttoryy描述faactoory obeect.consstruuctoor描述非默默认的cconsstruuctoor的输输入参数数.argfacttoryy方法的的输入参参数.fielld向objjectt注入成成员字段段的值.proppertty通过seetteer方法法注入一一个值.一个子子标签必必须定义义它的值值.invooke调用一个个方法.exammplee流程图如如下: LogLListteneer维护护一系列列的日志志:publlic claass LoggLisstenner impplemmentts EEvenntLiisteenerr

16、/ vaaluee geets injjectted froom pproccesss deefinnitiion Sttrinng mmsg; puubliic vvoidd nootiffy(EEvenntLiisteenerrExeecuttionn exxecuutioon) Lisst loogs = (Lisst) eexeccutiion.gettVarriabble(loogs); if (loogs=nuull) llogss = neww ArrrayyLisst(); eexeccutiion.settVarriabble(loogs, llogss); loggs.aa

17、dd(msgg); exeecuttionn.seetVaariaablee(llogss, loggs); 接下来,我们启启动流程程:ProccesssInsstannce proocesssInnstaancee = exeecuttionnSerrvicce.sstarrtPrroceessIInsttancceByyKeyy(EEvenntLiisteenerr);流程实例例执行到到waiit节点点,所以以我们提提供一个个让流程程继续执执行到eend的的信号.Execcutiion exeecuttionn = proocesssInnstaancee.fiindAActiiveEEx

18、eccutiionIIn(waiit);execcutiionSServvicee.siignaalExxecuutioonByyId(exeecuttionn.geetIdd();一系列的的logg信息入入下:staart on proocesss ddefiinittionn,starrt oon aactiivitty wwaitt, endd onn acctivvityy waait, takke ttrannsittionnassiignmmentt-haandller in tassk一个AsssiggnmeentHHanddlerr 可以以通过编编程方式式来计算算一个任任务的分

19、分配人和和候选人人。publlic intterffacee AsssiggnmeentHHanddlerr exxtennds Serriallizaablee /* setts tthe acttorIId aand canndiddatees ffor thee giivenn asssiggnabble. */voidd asssiggn(AAssiignaablee asssiggnabble, OppenEExeccutiion exeecuttionn) tthroows Exccepttionn;Assiignaablee 是任任务和泳泳道的通通用接口口。所以以任务分分配处理理

20、器可以以使用在在任务,也可以以用在泳泳道中(参考后后面的内内容)。assiignmmentt-haandller 是任务务元素的的一个子子元素。它指定定用户代代码对象象。所以以asssignnmennt-hhanddlerr 的属属性和元元素都来来自用户户代码。assiignmmentt-haandller的的属性:autoo-wrriteestriing可选指明是否否根据pproppertty nnamee,tyype跟跟objjectt naame,typpe自动动绑定mmembber fieeld和和settterr prropeertyy.cachhetruee|on|enabbled

21、d|falsse|off|disaablee可选指明usser codde是否否应该缓缓存.classsstriing可选classs名称称.exprrstriing可选提供obbjecct的表表达式facttoryystriingfacttoryy obbjecct的名名称.langgstriing声明语言言methhodstriingfacttoryy meethood名称称assiignmmentt-haandller嵌嵌套的标标签desccripptioon描述.facttoryy描述faactoory obeect.consstruuctoor描述非默默认的cconsstruucto

22、or的输输入参数数.argfacttoryy方法的的输入参参数.fielld向objjectt注入成成员字段段的值.proppertty通过seetteer方法法注入一一个值.一个子子标签必必须定义义它的值值.invooke调用一个个方法.exammplee流程图如如下:引用的类类AsssignnTassk 看看起来像像这样:publlic claass AsssignnTassk iimpllemeentss AsssiggnmeentHHanddlerr Striing asssignnee;publlic voiid aassiign(Asssignnablle aassiignaabl

23、ee, OOpennExeecuttionn exxecuutioon) assiignaablee.seetAsssiggneee(asssiggneee);请注意,默认AAssiignmmenttHanndleer 实实现可以以使用使使用流程程变量任任何其他他Javva AAPI 可以访访问资源源,像你你的应用用数据库库来计算算分配人人和候选选人用户户和组。启动一一个TaaskAAssiignmmenttHanndleer 的的新流程程实例会会立即让让新流程程实例运运行到任任务节点点。一个个新reevieew 任任务被创创建,在在这个时时候AsssiggnTaask 的分配配处理器器被调用

24、用。这将将设置jjohnndoee 为分分配人。所以JJohnn Dooe 将将在他自自己的任任务列表表中找到到这个任任务。condditiion in traansiitiooncondditiion节节点用在在和节节点中的的节点中中,用于于触发不不同的向向外转移移.condditiion的的属性:exprrstriing可选提供obbjecct的表表达式langgstriing声明语言言condditiion嵌嵌套的标标签(注注意:该该嵌套标标签只能能在标标签中的的中使用用)handdlerr例子,结结合标标签使用用.请查查看的的例子.Conttroll fllow acttiviity

25、starrt一个流程程的开始始.一个流程程只能有有一个sstarrt aactiivitty.Starrt aactiivitty必须须有一个个outtgoiing traansiitioon,并并且trranssitiion是是在流程程运行启启动时发发生的.Starrt 的的属性表表:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/conti

26、nueType.html o simpleType tns:conntinnueTTypeeasynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.formmstriing可选在部署中中资源的的形式Starrt的可可嵌套的的标签:desccripptioon节点描述述 HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:transition trannsittionn全局标签签,向外外的转移移ex

27、ammpleeendend节节点将会会结束完完成的流流程实例例.end中中的属性性:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypee:asynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.endssends

28、sTyppe:execcutiion|proccesss-innstaanceeproccesss-innstaancee可选结束运行行,结束束流程实实例.stattestriing:”endded”endeed可选明确地指指定执行行的结束束状态.end中中可嵌套套的标签签:desccripptioon节点描述述 HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:transition trannsittionn全局标签签,向外外的

29、转移移exammplee流程图如如下: 如果我们们启动一一个执行行,并使使用下面面的代码码发信号号使它迁迁出geet rretuurn codde等待待状态,执行将将会因为为badd reequeest endd evventt结束.ProccesssInsstannce proocesssInnstaancee = exeecuttionnSerrvicce.sstarrtPrroceessIInsttancceByyKeyy(EEndMMulttiplle);Striing pidd = proocesssInnstaancee.geetIdd();proccesssInsstannce

30、= eexeccutiionSServvicee.siignaalExxecuutioonByyId(pidd, 4000);同样的,使用2200或或5000的值将将会分别别导致ook或iinteernaal sservver errror执执行结束束.end-canncellend-canncell节点将将会结束束被取消消的流程程实例.end-canncell中的属属性:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schem

31、adocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypee:asynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.endssendssTyppe:execcutiion|proccesss-innstaanceeproccesss-innstaancee可选结束运行行,结束束流程实实例.End-canncell中可嵌嵌套的标标签:desccripptioon节点描述述 HYPERLINK l _tns:on on全局标签签,定义义某个节

32、节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:transition trannsittionn全局标签签,向外外的转移移exammplee执行可以以由不同同的状态态结束.这是另另一种指指定流程程结果的的方式.这通过过endd evventt的sttatee属性或或endd-caanceel和eend-errror快快捷符号号通知.流程图如如下: 这次,如如果我们们启动一一个执行行,并使使用下面面的代码码发信号号使执行行迁出gget retturnn coode的的等待状状态,执执行将会会由于c

33、canccel状状态被结结束.类似的,使用2200或或5000的值将将会分别别使执行行因coomplleteed或eerroor结束束.end-errrorend-errror节节点将会会结束错错误的流流程实例例.end-errror中中的属性性:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpl

34、eType tns:conntinnueTTypee:asynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.endssendssTyppe:execcutiion|proccesss-innstaanceeproccesss-innstaancee可选结束运行行,结束束流程实实例.end-errror中中可嵌套套的标签签:desccripptioon节点描述述 HYPERLINK l _tns:on on全局标签签,定义义某个eevennt的cconttinuue属性性. HYPERLINK l _tns:transition trannsittionn全

35、局标签签,向外外的转移移exammplee HYPERLINK l _.example 同.eend-canncell例子statte等待状态态.当一个执执行到达达这个节节点,执执行将会会被暂停停,等待待外部触触发被eexeccutiion.siggnall()或或者exxecuutioon.ggetAActiivittyInnstaancee().siggnall()传传送到该该节点.statte 的的属性表表:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.contti

36、nuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypeeasynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.statte的可可嵌套的的标签:desccripptioon节点描述述 HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLIN

37、K l _tns:transition trannsittionn全局标签签,向外外的转移移exammplee流程图如如下: 为进程定定义启动动一个新新的流程程实例:ProccesssInsstannce proocesssInnstaancee = exeecuttionnSerrvicce .sttarttProocesssInnstaanceeByKKey(SttateeChooicee);现在,执执行到达达waiit ffor ressponnse.执行将将会等待待,直到到接收到到外部触触发.在在这种情情况下,一个sstatte含有有多个向向外转移移,在外外部触发发中给出出的siign

38、aalNaame,将会指指定对应应向外转转移.所所以当我我们提供供siggnallNamme应当当像下面面这样:Striing exeecuttionnId = pproccesssInsstannce .fiindAActiiveEExeccutiionIIn(waiit ffor ressponnse) .geetIdd();proccesssInsstannce = eexeccutiionSServvicee.siignaalExxecuutioonByyId(exeecuttionnId, aacceept);asseertTTruee(prroceessIInsttancce.ii

39、sAcctivve(subbmitt doocummentt);当执行继继续,经经过名称称是accceppt向外外转移.假设,当siignaalExxecuutioonXxxx方法法给出的的siggnallNamme 是是rejjectt的时候候,执行行将会继继续,经经过名称称是reejecct的向向外转移移.deciisioon当有多个个可选路路径时,选择一一条路径径继续进进行.当执行到到该节点点时,只只会选择择一个向向外转移移.deciisioon 的的属性表表:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,

40、图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypeeasynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.exprrstriing可选scriipt将将会在被被执行,并且判判断向外外转移节节点的名名字.langgstriing可选声明exxpr属属性使用用的语言言名称.deciisioon的可可嵌套的的标签:desccripptioon

41、节点描述述handdlerr HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:transition trannsittionn全局标签签,向外外的转移移exammplee 输入参数数为goood conntennt,启启动一个个流程实实例后:Map vaariaablees = neew HHashhMapp();variiablles.putt(cconttentt, goood);ProccesssInsstannce pr

42、oocesssInnstaancee = exeecuttionnSerrvicce.sstarrtPrroceessIInsttancceByyKeyy(DDeciisioonCoondiitioons, vvariiablles);submmit doccumeent节节点被激激活:asseertTTruee(prroceessIInsttancce.iisAcctivve(subbmitt doocummentt);conccurrrenccy并行执行行可以由由forrk和jjoinn节点组组成.forkkforkk节点允允许一条条单一的的执行路路径分离离成两条条或更多多的,可可以并行行

43、的执行行节点.forkk 的属属性表:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypeeasynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.forkk的可嵌嵌套的标标签:desccripptioon节点描述

44、述 HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:transition trannsittionn全局标签签,向外外的转移移exammpleeforkk节点允允许一个个单独的的执行路路径拆分分成两条条或更多多的路径径,它们们可以并并发执行行. joinn归并多个个并行路路径的执执行.joinn节点属属性nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时

45、,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypeeasynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.lockkmoddenoneereaddupgrradeeupgrradee_noowaiitwritteupgrradee可选在行一级级执行时时提交的的hibbernnatee的loock modde,以以避免两两个并行行事物不

46、不知道对对方是否否到达jjoinn节点,导致进进程死锁锁.multtiplliciitystriing:正数或或表达式式传入转移移的数目目可选在joiin节点点执行以以及推动动一个向向外转移移之前,应该到到达当前前joiin节点点的执行行的数目目.joinn的可嵌嵌套的标标签:desccripptioon节点描述述 HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:transition trannsittionn全局标签签,向外外

47、的转移移exammplee参考 HYPERLINK l _fork foork节节点例子子sub-proocesss创建一个个子流程程,并且且等待知知道子流流程完成成后,执执行流程程将会继继续执行行.sub-proocesss的属属性:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType

48、tns:conntinnueTTypeeasynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.outccomeeexprresssionn可选在行一级级执行时时提交的的hibbernnatee的loock modde,以以避免两两个并行行事物不不知道对对方是否否到达jjoinn节点,导致进进程死锁锁.sub-proocesss-iidstriing sub-proocesss-iid或ssub-proocesss-kkey必必含有其其一.声明调用用特定版版本的子子流程,子流程程的idd可以是是texxt或EEL eexprresssionn.sub-pro

49、ocesss-kkeystriingsub-proocesss-iid或ssub-proocesss-kkey必必含有其其一.声明在每每次流程程执行时时,调用用最新版版本的子子流程.keyy可以是是texxt或EEL eexprresssionn.Sub-proocesss的可可嵌套的的标签:desccripptioon节点描述述 HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:transition trannsittionn全

50、局标签签,向外外的转移移paraametter-in在子流程程实例被被创建时时,声明明传递到到子流程程实例的的参数paraametter-outt在子流程程结束的的时候,声明在在上级流流程执行行使用到到的参数数.timeer计时器swimmlanne-mmapppinggexammplee流程可以以有多个个endd节点.在SuubPrroceessOOutccomeeActtiviityTTestt例子中中,子流流程的结结果ennd节点点被用于于选择向向外转移移 SubPProccesssRevvieww拥有多多个ennd节点点: 新的doocummentt流程实实例通常常是这样样启动的的:P

51、roccesssInsstannce proocesssInnstaancee = exeecuttionnSerrvicce .sttarttProocesssInnstaanceeByKKey(SuubPrroceessDDocuumennt);taskk从joohnddoe的的tassk llistt中取出出tassk.Listt taaskLListt = tasskSeerviice.finndPeersoonallTassks(joohnddoe);Taskk taask = ttaskkLisst.gget(0);taskk完成后后,结果果是okk.taskkSerrvicce.

52、ccomppletteTaask(tassk.ggetDDbidd(), ook);这会导致致子流程程在ennd节点点中的ook结束束.上一一级的流流程执行行将会向向外转移移到okk,然后后下一步步.Autoomattic acttiviitieesscriiptscriipt节节点用于于执行脚脚本.脚本可以以使用任任何语言言定义.scriipt节节点的属属性:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/

53、schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypeeasynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.langgstriing 可选声明使用用的语言言exprrstriing可选scriipt将将会在被被执行,并且判判断向外外转移节节点的名名字.varstriing可选脚本执行行保存的的结果的的参数的的名称.scriipt节节点嵌套套的标签签:desccripptioon节点描述述textt将会被运运行的脚脚本内容容可以放放入该标标签中.

54、 HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:transition trannsittionn全局标签签,向外外的转移移exammplee:流程图如如下:以下是一一个jaava任任务: Classsess innvollvedd:publlic claass JohhnDooe Sttrinng sstatte; Seessiion sesssioon; puubliic SStriing helllo(Strringg m

55、ssg) if ( (msgg.inndexxOf(hoow aare youu?)!=-1) & (sesssioon.iisOppen() ) rretuurn Im +sttatee+, thhankk yoou.; retturnn nuull; publlic claass JoeeSmooe iimpllemeentss Seeriaalizzablle sttatiic MMap hhanddshaakess = neww HaashMMap(); hanndshhakees.pput(foorcee, 5); hanndshhakees.pput(duurattionn, 12

56、); puubliic MMap ggetHHanddshaakess() retturnn haandsshakkes; publlic claass Hannd iimpllemeentss Seeriaalizzablle prrivaate boooleaan iisShhakeen; puubliic HHandd shhakee(Inntegger forrce, Inntegger durratiion) if (foorcee3 & durratiion7) iisShhakeen = trrue; retturnn thhis; puubliic bboolleann iss

57、Shaakenn() retturnn issShaakenn; hql使用hqql节点点,可以以运行HHQL查查询语句句和数据据库交互互,结果果将被保保存到流流程参数数中.hql节节点的属属性:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleType tns:conntinnueTTypee

58、asynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.uniqquestriing可选声明quueryy是否返返回一个个唯一的的结果.varstriing可选脚本执行行保存的的结果的的参数的的名称.hql节节点嵌套套的标签签:desccripptioon节点描述述.querry查询语句句.paraametterss查询的参参数. HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). HYPERLINK l _tns:transit

59、ion trannsittionn全局标签签,向外外的转移移exammplee:sqlsql节节点跟hhql节节点相同同.唯一不同同的是ssql节节点使用用了seessiion.creeateeSQLLQueery().sql节节点的属属性:nameeany texxt可选节点名称称,名称称应该在在整个流流程中是是唯一的的.gstriing可选使用流程程设计工工具时,图象大大小和坐坐标信息息.conttinuue HYPERLINK /jbpm/v4/schemadocs/schemas/jpdl-4_4_xsd/simpleTypes/continueType.html o simpleTy

60、pe tns:conntinnueTTypeeasynnc|syncc|excllusiivesyncc可选指定同步步,异步步或互斥斥的.uniqquestriing可选声明quueryy是否返返回一个个唯一的的结果.varstriing可选脚本执行行保存的的结果的的参数的的名称.sql节节点嵌套套的标签签:desccripptioon节点描述述.querry查询语句句.paraametterss查询的参参数. HYPERLINK l _tns:on on全局标签签,定义义某个节节点的在onn可以嵌嵌套的标标签的功功能(ttimeer,hhql,eveent-lisstenner等等等). H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论