Processor API
Processor 是 NiFi 中使用最广泛的组件。
Processor 是 NiFi 是唯一被给予创建, 删除, 修改, 或检查 FlowFile(数据和属性)权限的组件。
所有的 Processor 都是使用 Java 的 ServiceLoader 机制加载和实例化的。这意味着所有的处理器必须遵守以下规则:
- Processor必须有一个默认构造函数
- Processor的JAR文件必须在META-INF/service目录中包含一个名为org.apache.nifi.processor.Processor的条目。这是一个文本文件, 其中每行包含Processor的完全限定类名
虽然Processor是一个可以直接实现的接口, 但是这样做的可能性非常小, 因为org.apache.nifi.Processor.abstractprocessor是几乎所有Processor实现的基类。
AbstractProcessor类提供了大量的功能, 这使得开发Processor的任务更加容易和方便。
对于本位的范围, 在处理Processor API 时,我们将主要关注AbstractProcessor类。
并发性注意:
NiFi 是一个高度并发的框架。这意味着所有的扩展都必须是线程安全的。如果不熟悉用Java编写并发软件, 强烈建议您熟悉Java并发的原则。
Supporting API
为了理解Processor API, 我们必须首先理解几个支持类和接口, 下面将讨论这些类和接口。
FlowFile 流文件
FlowFile是一个逻辑概念, 它将一段数据和一组关于该数据的属性关联起来。
这些属性包括一个FlowFile的唯一标识符, 以及它的名称, 大小和任何数量的其他