(三)Flowable中TaskServiceAPI详解

Flowable中TaskServiceAPI详解

1.boolean hasVariable​(String taskId,String variableName)
检查任务是否具有用给定名称定义的变量、任务范围以及是否可用的执行范围。

2.Object getVariableLocal​(String taskId,String variableName)
检查任务是否具有用给定名称定义的变量。

3. T getVariableLocal​(String taskId,String variableName,Class variableClass)
检查任务是否具有用给定名称定义的变量。

4.VariableInstance getVariableInstanceLocal​(String taskId,String variableName)
任务的变量。当为任务设置变量时(不搜索父作用域)返回该变量。如果没有找到具有给定名称的变量,则返回null。
参数:
taskId-任务的ID,不能是空的。
variableName-可变名称,不能为空。
返回:
变量或空,如果变量未定义。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定任务未找到任务时Id。

5.boolean hasVariableLocal​(String taskId,String variableName)
检查任务是否有仅用给定名称、本地任务范围定义的变量。

6.Map<String,​Object> getVariables​(String taskId)
获取任务范围内的所有变量并进行搜索,如果可用,还可以获取执行范围。如果您有许多变量,而您只需要几个变量,请考虑使用可变量(字符串、集合)来获得更好的性能。

7.Map getVariableInstances​(String taskId)
从给定的任务范围(包括父范围)中可见的所有变量。
参数:
taskId-任务的ID,不能是空的。
返回:
如果没有找到此类变量,则可变实例或空地图。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当给定任务未找到任务时Id。

8.Map<String,​org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstances​(String taskId,Collection variableNames)
所有给定变量名的变量值,将所有在给定任务作用域(包括父作用域)可见的变量都考虑进去。
参数:
taskId-任务ID,不能是空的。
variableNames-应检索的可变名称的集合。
返回:
如果没有找到此类变量,则变量或空地图。
抛出:
org.flowable.common.engine.api.FlowableObjectNotFoundException-当未找到任务时,为给定任务找到Id。

9.Map<String,​Object> getVariablesLocal​(String taskId)
获取所有变量并仅在任务范围内进行搜索。如果您有许多任务局部变量,而您只需要几个,那么考虑使用getvariablelocal (String, Collection)以获得更好的性能。

10.Map<String,​Object> getVariables​(String taskId,Collection variableNames)
获取所有给定变量名的值,并仅在任务范围内进行搜索。

11.Map<String,​Object> getVariablesLocal​(String taskId,Collection variableNames)
在任务中获取一个变量

12.List getVariableInstancesLocalByTaskIds​(Set taskIds)
获取所有变量并仅在任务范围内进行搜索。

13.Map getVariableInstancesLocal​(String taskId)
在任务范围中定义的所有变量值,不考虑外部范围。如果您有许多任务局部变量,而您只需要几个,那么考虑使用 getVariableInstancesLocal(String, Collection)来获得更好的性能。
参数:
taskId -任务id,不能为空。
返回:
如果没有找到变量,则为空映射。
抛出:
flowableobjectnotfoundexception—当没有为给定的taskId找到任务时。

14.Map getVariableInstancesLocal​(String taskId,Collection variableNames)
给定任务范围内定义的所有给定变量名的变量值。(不搜索父范围)。
参数:
taskId - taskId的id,不能为空。
变量名——应该被检索的变量名的集合。
返回:
如果没有找到变量,则为空映射。
抛出:
flowableobjectnotfoundexception—当没有为给定的taskId找到taskId时。

15.void removeVariable​(String taskId,String variableName)
从任务中删除变量。当变量不存在时,什么也不会发生。

16.void removeVariableLocal​(String taskId,String variableName)
从任务中删除变量(不考虑父作用域)。当变量不存在时,什么也不会发生。

17.void removeVariables​(String taskId,Collection variableNames)
从任务中删除给定集合中的所有变量。不存在的变量名会被忽略。

18.void removeVariablesLocal​(String taskId,Collection variableNames)
从任务中删除给定集合中的所有变量(不考虑父作用域)。不存在的变量名会被忽略。

19.Map<String,​DataObject> getDataObjects​(String taskId)
从给定的执行范围(包括父范围)可见的所有数据对象。
参数:
taskId -任务id,不能为空。
返回:
数据对象或空映射(如果没有找到此类变量)。
抛出:
flowableobjectnotfoundexception—当没有为给定的taskId找到任务时。

20.Map<String,​DataObject> getDataObjects​(String taskId,String locale,boolean withLocalizationFallback)
从给定任务范围(包括父范围)可见的所有DataObjects。
参数:
taskId -任务id,不能为空。
数据对象名称和描述应该返回(如果可用)。
withLocalizationFallback -如果没有找到指定的区域设置,当设置为true时,本地化将退回到更常规的区域设置。
返回:
如果没有找到数据对象,则为空映射。
抛出:
flowableobjectnotfoundexception—当没有为给定的任务找到任务时。

21.Map<String,​DataObject> getDataObjects​(String taskId,Collection dataObjectNames)
所有给定dataObjectNames的DataObjects将从给定任务范围(包括父范围)可见的所有DataObjects考虑在内。
参数:
taskId -任务id,不能为空。
dataObjectNames——应该检索的DataObject名称的集合。
返回:
如果没有找到数据对象,则为空映射。
抛出:
flowableobjectnotfoundexception—当没有为给定的taskId找到任务时。

22.Map<String,​DataObject> getDataObjects​(String taskId,Collection dataObjectNames,
String locale,boolean withLocalizationFallback)

所有给定dataObjectNames的DataObjects将从给定任务范围(包括父范围)可见的所有DataObjects考虑在内。
参数:
taskId -任务id,不能为空。
dataObjectNames——应该检索的DataObject名称的集合。
数据对象名称和描述应该返回(如果可用)。
withLocalizationFallback -如果没有找到指定的区域设置,当设置为true时,本地化将退回到更常规的区域设置。
返回:
数据对象或空映射(如果没有找到此类数据对象)。
抛出:
flowableobjectnotfoundexception—当没有为给定的任务找到任务时。

23.DataObject getDataObject​(String taskId,String dataObject)
DataObject。在给定任务可见的所有范围(包括父范围)中搜索DataObject。如果没有找到具有给定名称的DataObject值,则返回null。
参数:
taskId -任务id,不能为空。
数据对象—数据对象的名称,不能为空。
返回:
DataObject,如果变量未定义,则为空。
抛出:
flowableobjectnotfoundexception—当没有为给定的taskId找到任务时。

24.DataObject getDataObject​(String taskId,String dataObjectName,String locale,boolean withLocalizationFallback)
DataObject。在给定任务可见的所有范围(包括父范围)中搜索DataObject。如果没有找到具有给定名称的DataObject值,则返回null。
参数:
taskId -任务id,不能为空。
dataObjectName—数据对象的名称,不能为空。
数据对象名称和描述应该返回(如果可用)。
withLocalizationFallback—如果没有找到指定的区域设置,当真正的本地化将退回到更通用的区域设置,包括JVM的默认区域设置。
返回:
数据对象,如果数据对象未定义,则为空。
抛出:
flowableobjectnotfoundexception—当没有为给定的taskId找到任务时。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值