ActorID & PooledActors

本文详细介绍了jBPM中的两种任务分配模式——推模式和拉模式,并解释了这两种模式下任务如何被分配给用户。同时,文章还探讨了如何设置用户、获取任务列表以及如何管理候选参与者和真正参与者的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jBPM有两种分配任务的模式,推模式和拉模式。

推模式:系统主动分配任务给actorID。推模式只有一个人能参与这个任务。通过actorId指定用户

拉模式:actorId去申请这个任务。拉模式的任务可以是多个人参与的,但是只能有其中的一个人能结束。通过PooledActors指定用户群。

当同时指定了这两个属性的时候,actorId才是真正被指定的参与者。只有这个参与者才能完成这个任务,其他的在PooledActors里面的用户,是无法得到这个任务的,所以也没有办法处理这个任务。

设置用户

推模式:Assignable.setActorID(String actorId)

拉模式:Assignable.setPooledActors(String[] actorIds)

得到用户任务列表

推模式:TaskMgmtSession.findTaskInstances(String actorId)

拉模式:TaskMgmtSesion.findPooledTaskInstances(String actorId)  TaskMgmtSession.findPooledTaskInstances(List actorIds)

到今天才真正了解了为什么有些人把pooledActors翻译成候选参与者,因为当有真正的参与者的时候,候选参与者是没有权利查看并完成任务的。

又或者只设置了pooledActors的那个taskInstance称之为共享任务。只要在pooledActors数组里面的用户都可以查看并完成这个任务。所以防止冲突,需要把执行任务的这个候选参与者升格为参与者,即把这个用户设置到actorID里面,如果需要重新把这个任务作为共享任务,只需要把actorId这个属性设置为null.

以上是今天研究用户权限的一些体会。经过这几天的研究,发现jBPM没有想象中的负责,不过还有很多的地方没有没有搞清楚,继续努力......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值