userTask中MultiInstanceLoopCharacteristics设置collection

使用java代码创建flowable中设置多人审批userTask时,设置MultiInstanceLoopCharacteristics的collection鬼玩意

为啥要叫鬼玩意,因为这个东西因为作者的命名不太规范,导致花了好长时间去调试这个问题。因为里面提供了一个setCollectionString的方法,所以一直在调用这个方法去调试。(因为名字太像了)后来在github上专门提出这个问题后,官方作者给出了答案,其实是使用setInputDataItem这个方法。(内心mmp哦)。

Flowable 6.4 多实例会签 审批人设置、结果判断、会签后走向:https://blog.csdn.net/weixin_40147618/article/details/83548270 这个是关于这个属性别人给出的介绍可以去了解一下为啥需要这些标签,属性还有名称之类的

新发现的好链接的地址https://blog.csdn.net/qq_34758074/article/details/103330904

错误的用法:

 MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics = new MultiInstanceLoopCharacteristics();
 multiInstanceLoopCharacteristics.setCollectionString("");

乍一看是不是很像给collection设值的

正确的写法

 MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics = new MultiInstanceLoopCharacteristics();
 multiInstanceLoopCharacteristics.setInputDataItem("");

这是我自己在github上提出的问题,作者给的回答,附上github的地址

后来我看了下getInputDataItem()的方法调用链,在AbstractActivityBpmnParseHandler这个类中的60行调用,我差点气晕过去

		// flowable:collection
        if (StringUtils.isNotEmpty(loopCharacteristics.getInputDataItem())) {
            miActivityBehavior.setCollectionExpression(expressionManager.createExpression(loopCharacteristics.getInputDataItem()));
        }

至于setCollectionString方法用在哪个场景下 作者也没有说清楚。所以谨慎使用

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值