(一)Flowable中TaskServiceAPI详解

Flowable中TaskServiceAPI详解

1.void saveTask​(org.flowable.task.api.Task task)
将给定任务保存到持续的数据存储。如果任务已经存在于持久存储中,则会更新该任务。保存新任务后,通过此方法传入的任务实例会随着新创建任务的 ID 进行更新。
参数:
task-任务不能是空的

2.void deleteTask​(String taskId)
删除给定的任务,而不是删除与此任务相关的历史信息。
参数:
taskId- 将要删除的任务的 ID 不能是空的。如果给定任务不存在任务,则操作将忽略。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当与给定的ID的任务不存在。
org.flowable.common.engine.api.FlowableException- 删除任务时发生错误或任务是运行过程的一部分时。

3.void deleteTasks​(Collection taskIds)
删除给定集合的所有任务,而不是删除与这些任务相关的历史信息。
参数:
taskIds-将要删除的任务的ID不能是空的。列表中没有现有任务的所有 ID 都将被忽略。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当其中一项任务不存在时。
org.flowable.common.engine.api.FlowableException- 删除任务时发生错误或如果其中一个任务是运行过程的一部分。

4.void deleteTask​(String taskId,boolean cascade)
删除给定的任务。
参数:
taskId- 将要删除的任务的 ID 不能是空的。如果给定任务不存在任务,则操作将忽略。
cascade- 如果级联属实,还将删除与此任务相关的历史信息。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当与给定的ID的任务不存在。
org.flowable.common.engine.api.FlowableException- 删除任务时发生错误或任务是运行过程的一部分时。

5.void deleteTasks​(Collection taskIds,boolean cascade)
删除给定集合的所有任务。
参数:
taskIds-将要删除的任务的ID不能是空的。列表中没有现有任务的所有 ID 都将被忽略。
cascade- 如果级联属实,还将删除与此任务相关的历史信息。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当其中一个任务不存在时。
org.flowable.common.engine.api.FlowableException- 删除任务时发生错误或如果其中一个任务是运行过程的一部分。

6.void deleteTask​(String taskId,String deleteReason)
删除给定的任务,而不是删除与此任务相关的历史信息。
参数:
taskId- 将要删除的任务的 ID 不能是空的。如果给定任务不存在任务,则操作将忽略。
deleteReason-任务被删除的原因。如果启用,则记录在历史中。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当与给定的ID的任务不存在。
org.flowable.common.engine.api.FlowableException- 删除任务时发生错误或任务是运行过程的一部分时

7.void deleteTasks​(Collection taskIds,String deleteReason)
删除给定集合的所有任务,而不是删除与这些任务相关的历史信息。
参数:
taskIds-将要删除的任务的ID不能是空的。列表中没有现有任务的所有 ID 都将被忽略。
deleteReason-任务被删除的原因。如果启用,则记录在历史中。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当其中一个任务不存在时。
org.flowable.common.engine.api.FlowableException- 删除任务时发生错误或如果其中一个任务是运行过程的一部分。

8.void claim​(String taskId,String userId)
声明任务的责任:指定的用户成为任务的受让人。 setAssignee(String, String)的不同之处在于如果任务已经有一个用户分配给它,那么检查就完成了。identity组件不检查用户是否已知
参数:
taskId-要声明的任务,不能为声明该任务的空用户。
userId-当userId为null时,任务无人认领,不分配给任何人。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当任务不存在时
org.flowable.common.engine.api.FlowableTaskAlreadyClaimedException-当任务已被其他用户声称

9.void unclaim​(String taskId)
与空用户一起声明 claim(java.lang.String, java.lang.String)的快捷方式,以便取消任务
参数:
taskId-任务不要求,不能无效。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当任务不存在时

10.void complete​(String taskId)
任务成功执行时调用。
参数:
taskId-完成任务的ID,不能无效。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定的ID不存在任务时。
org.flowable.common.engine.api.FlowableException-当此任务是授权时。DelegationState.PENDING

11.void delegateTask​(String taskId,String userId)
将任务委托给其他用户。这意味着受让人被设置,委托状态被设置为。如果任务上没有设置所有者,则所有者将设置为任务的当前受让人。DelegationState.PENDING
参数:
taskId-将下放的任务的ID。
userId-将设置为受让人的用户的ID。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定的ID不存在任务时。

12.void resolveTask​(String taskId)
标记受让人已完成此任务,并且可以将其发送回所有者。只有当此任务是授权时,才能调用。此方法返回后,设置为。DelegationState.PENDINGdelegationStateDelegationState.RESOLVED
参数:
taskId-要解决的任务的ID,不能是空的。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定的ID不存在任务时。

13.void resolveTask​(String taskId,Map<String,​Object> variables)
标记受让人完成此任务,提供所需的变量,并且可以将其发送回所有者。只有当此任务是授权时,才能调用。此方法返回后,设置为。DelegationState.PENDINGdelegationStateDelegationState.RESOLVED
参数:
taskId - 任务id。
variables - 任务参数。可能是空的或空的。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定的ID不存在任务时。

14.void resolveTask​(String taskId,Map<String,​Object> variables,Map<String,​Object>transientVariables)
类似于 resolveTask(String, Map),但允许设置变量了。

15.void complete​(String taskId,Map<String,​Object> variables)
任务成功执行时调用,所需任务参数由最终用户提供。
参数:
taskId-完成任务的ID,不能无效。
variables-任务参数。可能是空的或空的。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定的ID不存在任务时。

16.void complete​(String taskId,Map<String,​Object> variables,Map<String,​Object> transientVariables)
类似于complete(String, Map),但允许设置变量了。

17.void complete​(String taskId,Map<String,​Object> variables,boolean localScope)
任务成功执行时调用,所需任务参数由最终用户提供。
参数:
taskId-完成任务的ID,不能无效。
variables-任务参数。可能是空的或空的。
localScope- 如果是真的,所提供的变量将存储任务本地,而不是过程实例宽(这是完整的默认值(字符串,地图)。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定的ID不存在任务时。

18.void completeTaskWithForm​(String taskId,String formDefinitionId,String outcome,Map<String,​Object> variables)
任务成功执行时调用,任务表单已提交。
参数:
taskId-完成任务的ID,不能无效。
formDefinitionId- 填写以完成任务的表单定义的 ID 不能为空。
outcome-已完成表单的结果可以为空。
variables-已完成表单的值。可能是空的或空的。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定的ID不存在任务时。

19.void completeTaskWithForm​(String taskId,String formDefinitionId,String outcome,Map<String,​Object> variables,Map<String,​Object> transientVariables)
任务成功执行时调用,任务表单已提交。
参数:
taskId-完成任务的ID,不能无效。
formDefinitionId- 填写以完成任务的表单定义的 ID 不能为空。
outcome-已完成表单的结果可以为空。
variables-已完成表单的值。可能是空的或空的。
transientVariables- 需要添加到过程实例瞬态变量的其他瞬态值。可能是空的或空的。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定的ID不存在任务时。

20.void completeTaskWithForm​(String taskId,String formDefinitionId,String outcome,Map<String,​Object> variables,boolean localScope)
任务成功执行时调用,任务表单已提交。
参数:
taskId-完成任务的ID,不能无效。
formDefinitionId- 填写以完成任务的表单定义的 ID 不能为空。
outcome-已完成表单的结果可以为空。
variables-已完成表单的值。可能是空的或空的。
localScope- 如果是真的,所提供的变量将存储任务本地,而不是过程实例宽(这是完整的默认值(字符串,地图)。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定的ID不存在任务时。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flowable是RxJava2的一个子集,它提供了一些额外的方法和特性来处理背压问题,可以处理大量数据和高负载的场景。下面是Flowable API详解: 1. 创建Flowable对象 - Flowable.just(item1, item2, item3, ...):创建一个发射固定数据项的Flowable对象。 - Flowable.fromArray(items):创建一个发射数组所有数据项的Flowable对象。 - Flowable.fromCallable(callable):创建一个发射Callable返回值的Flowable对象。 - Flowable.fromPublisher(publisher):将一个Publisher对象转换为一个Flowable对象。 - Flowable.fromIterable(iterable):创建一个发射Iterable所有数据项的Flowable对象。 2. 变换Flowable对象 - map(function):对发射的每个数据项应用一个函数,返回一个新的Flowable对象。 - flatMap(function):对发射的每个数据项应用一个函数,返回一个新的Flowable对象,将所有的Flowable对象发射的数据项合并成一个Flowable对象。 - concatMap(function):类似于flatMap,但是保证顺序,依次处理每个数据项,不会交叉处理。 - switchMap(function):类似于flatMap,但是只处理最新的数据项,忽略旧的数据项。 3. 过滤Flowable对象 - filter(predicate):筛选出发射的数据项满足条件的数据项。 - distinct():去除重复的数据项。 - take(count):仅发射前count个数据项。 - skip(count):跳过前count个数据项。 - takeWhile(predicate):仅发射满足条件的数据项,直到不满足条件为止。 - skipWhile(predicate):跳过满足条件的数据项,直到不满足条件为止。 4. 操作Flowable对象 - doOnNext(action):在每个数据项发射之前执行一个操作。 - doOnComplete(action):在完成时执行一个操作。 - doOnError(action):在发生错误时执行一个操作。 - onErrorResumeNext(function):当发生错误时,返回一个新的Flowable对象来继续发射数据项。 - onErrorReturnItem(item):当发生错误时,返回一个指定的数据项来终止发射数据项。 5. 处理背压问题 - onBackpressureBuffer():缓存所有发射的数据项,如果缓存区已满,则抛出MissingBackpressureException异常。 - onBackpressureDrop():丢弃所有发射的数据项,如果缓存区已满,则不会抛出异常。 - onBackpressureLatest():仅缓存最新的数据项,如果缓存区已满,则覆盖最老的数据项。 以上仅列举了部分Flowable API,还有很多其他的方法和特性可以根据实际需求进行选择和使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值