【发布时间】:2018-07-11 11:06:18
【问题描述】:
我已经知道如何编写自定义处理器(扩展 org.apache.nifi.processor.AbstractProcessor)。我已经使用了这种技术,我很乐意创建自定义 org.apache.nifi.components.PropertyDescriptor 和 org.apache.nifi.processor.Relationship 字段,以及覆盖 onTrigger 方法。此外,我知道如何设置构建、建立 Manifest 并创建我的 .nar 文件。
我无法弄清楚是否存在扩展原生 NiFi 处理器的合理模式。我希望扩展一个原生处理器,以便我可以使用我的扩展类(而不是其他类)进行新的单元测试。
至少,我要做的就是扩展一个处理器并为其定义的特定PropertyDescriptor 设置值。镀金可能会阻止用户(例如通过 NiFi 画布)更改此配置。
谁能提供任何指导或提供一些参考资料?
谢谢!
附加细节:我的具体目标是在原生JoltTransformJSON processor 中设置JOLT_SPEC 的值。虽然,我希望有一个约定可以在这个特定的类和字段之外设置 PropertyDescriptor 值。
【问题讨论】:
-
为了澄清,当您说扩展时,您是否希望您所做的更改覆盖现有的本机处理器?
-
我希望更改仅限于我的子类。但是,如果在这里子类化是一种反模式,我对其他技术持开放态度。
-
那么您是否尝试为 JoltTransform 处理器设置默认值?
-
是的,但我真的很想了解这种模式的可行性。在这种特殊情况下,我想创建各种预配置类,为这个属性设置不同的值。例如,我可能会创建
JoltTransformJSON processor的子类并定义为MyTransformTweetTimestampProcessor或MyTransformTweetLocationProcessor。这些示例类将分别设置不同的值。 -
知道了。感谢您的澄清。
标签: java apache-nifi