Skip to main content

Notify

描述:

提供缓存中缓存释放信号的标识符,可以选择将其与数据流的属性一起缓存。一旦在缓存中发现这个信号,在相应的wait组件持有的所有流文件都将被释放。

标签:

map, cache, notify, distributed, signal, release, 信号, 释放, 通知

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
信号释放标识符一个值或者根据属性表达式计算数据流的结果值,该值用来确定释放信号缓存键值

支持表达式语言 (支持流属性和变量)
信号计数器名称default一个值,或者根据属性表达式计算数据流的结果值,该值用来确定信号计数器名称。当相应的Wait组件需要知道不同类型事件(如成功、失败或目标数据源名称等)发生的次数时,信号计数器名称非常有用。

支持表达式语言 (支持流属性和变量)
信号计数器增量1一个值,或者根据属性表达式对FlowFile计算的结果值,该值用来确定信号计数器增量,指定计数器应该增加多少。例如,如果在上游流中以批处理的方式处理多个信号事件,则可以立刻用该属性通知处理的事件数量。0有一个特殊的含义,它将目标计数清除回0,这在与Wait组件的'可释放的数据流计数'=0模式一起使用时特别有用,以提供“开闭门”类型的流控制。1可以打开相应的Wait组件,而0则关闭它。

支持表达式语言 (支持流属性和变量)
等待缓存计数1指定直到有信号通知缓存服务时,可以缓存输入数据流的最大数量。更多的缓存量可以提供更好的性能,因为当多个输入流文件共享相同的信号标识符时,会按信号标识符分组信号,以减少跟缓存服务的交互次数。
缓存服务控制器服务API:
AtomicDistributedMapCacheClient
实现:
CouchbaseMapCacheClient
DistributedMapCacheClientService
用于缓存释放信号的控制器服务,这些信号用来释放在相应Wait组件上排队等待的流文件。
属性匹配正则表达式名称与此正则表达式匹配的任何属性都将存储在缓存中,以便复制到Wait组件输出的任何数据流上。注意uuid属性是不会被缓存的;如果该值为空,则不会缓存任何属性。

连线:

名字描述
success释放信号成功进入到缓存中后,所有的数据流都会输出到该连线。
failure当缓存不可用,或释放信号标识符的值为null或空时,数据流将输出到此连线。

读取属性:

未提供。

写入属性:

名字描述
notified所有的数据流都有一个属性'notified'。此属性的值若为true,说明通知了该数据流,否则为false。

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件必须提供输入流。

系统资源考量:

未提供。

参考:

DistributedMapCacheClientService, DistributedMapCacheServer, Wait