我用的版本是jBPM4.3。
《jBPM user guide》6.2.7 sub-process小节的Table 6.17说:outcome是sub-process的一个属性;它的类型是表达式;当(sub-process的)transition指定了outcome-value子元素时必填;sub-process结束时,outcome这个表达式会被计算,得到的值用来匹配transition
从jBPM自带的示例程序(jbpm4.3/examples/src/org.jbpm.examples.subprocess.outcomevalue)来看:
<sub-process name="review" outcome="#{result}" sub-process-key="SubProcessReview"> <transition name="ok" to="next step"> <transition name="nok" to="update"/> <transition name="reject" to="close"/> </sub-process>
如果"#{result}"的值为"ok",sub-process结束后就会走name="ok"这个transition。这整个过程与outcome-value无关。
但《jBPM user guide》6.2.7 sub-process小节的Table 6.21又说了,outcome-value是transition的一个子元素,如果outcome的值与之匹配,则sub-process结束后就会走这个transition。但是jBPM中又没有这样的示例程序。
我自己做了些试验也都没法实现outcome和outcome-value匹配这种情况。
现在完全不清楚outcome-value这个子元素到底该怎么用……
P.S. 问答频道的人气好少啊,我只好又copy到论坛来了……
问题补充
嗐,我这不在翻译jpdl么,今儿就翻译到这儿,结果碰了钉子。赶明儿我再试试。
jira那块儿我可能上不去(最近单位的网巨慢……),能提交我就提交,不能提交就拜托临远大哥了~
问题补充
issue已经提交
https://jira.jboss.org/browse/JBPM-2867