jBPM-4.4:主流程(process)与子流程(sub-process)之间交换数据

现在假设存在这样一个流程:

首先需要进行复杂的鉴权,而且可能随着需求的变化而变化,这导致鉴权的流程也是时刻可能变化的。而只有当鉴权成功以后,才能执行实际的交易操作,例如向外部系统发送请求报文获取某些交易的数据。

这时,可以考虑将鉴权流程独立做成一个子流程,然后将其嵌入到主流程中去,适应局部流程变化而无需修改全局流程的问题,在子流程与主流程之间实际要做的就是约定数据的交换协议,即确定数据在子流程与主流程之间的流入与流出。

下面通过一个实际例子来说明并实践。

首先,定义主流程。

主流程包含鉴权的子流程,鉴权通过之后,收集鉴权过程中获取到的交易必需的数据,组装请求报文,流程定义如图所示:

对应的流程定义文件main-process.jpdl.xml,如下所示:

 

上面,sub-process-key="SubCheckProcess"表示一个嵌入主流程中的鉴权子流程。通过流程定义文件内容,可以看到,在主流程与子流程之间交换数据,是通过变量myRequest来实现的:

<parameter-in>元素表示从主流程MainProcess中流入到子流程SubCheckProcess中变量为myRequest,而var="myRequest"表示在主流程中变量名称,而subvar="myRequest"表示在子流程中可以通过获取到myRequest变量从而得到数据。同理,<parameter-out>元素表示从子流程SubCheckProcess中流出到MainProcess中,将数据又传回主流程中,继续后续流程的操作。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值