一、源端
1、结构展示
1.1 外层
1.2 内层
2、PROCESS
2.1 ExecuteGroovyScript
a) 描述
这个处理器负责处理多个传入的keys(逗号分隔),拆分为单条KEY为一个流传出,并将KEY包含再【属性】中传出。
b) SETTINGS
c) SCHEDULING
d) PROPERTIES
2.2 FetchDistributedMapCache
a) 描述
获取上游处理器传入的KEY,通过RedisDistributedMapCacheClientService处理器获取VALUE。
b) SETTINGS
c) SCHEDULING
d) PROPERTIES
2.2.1 RedisConnectionPoolService
a) 描述
这是2.2.2 RedisDistributedMapCacheClientService处理器需要的处理器(Redis连接池)
b) PROPERTIES
2.2.2 RedisDistributedMapCacheClientService
a) 描述
这是FetchDistributedMapCache或PutDistributedMapCache处理器需要的处理器(Redis客户端)
b) PROPERTIES
二、目标端
1、结构展示
1.1 外层
1.2 内层
2、PROCESS
2.1 NifiFLow
a) 描述
-
b) PROPERTIES
2.2 PutDistributedMapCache
a) 描述
-
b) SETTINGS
c) SCHEDULING
d) PROPERTIES
三、附页:
1、附1:
```groovy import java.nio.charset.StandardCharsets import org.apache.commons.io.IOUtils
String keys try { keys = Keys String[] keyList = keys.split(“,”) for (key in keyList) { createFlowFile(key) } } catch (E) { E.printStackTrace() }
def createFlowFile (String key) { flowFile = session.create()
session.putAttribute(flowFile, 'KEY', key)
String json = "{\"key\":\"" + key + "\"}"
session.write(flowFile, {outputStream ->
outputStream.write(json.getBytes(StandardCharsets.UTF_8))
} as OutputStreamCallback)
session.transfer(flowFile, REL_SUCCESS)
} ```