Apache nifi Nifi:在自定义处理器中读取外部属性
我已经更新了变量注册表以指向自定义属性文件,并且我能够使用表达式语言在处理器中读取这些文件,而不会出现任何问题 如何在自定义处理器(扩展AbstractProcessor)的OnTigger()中读取它们 我尝试了flowFile.getAttributes()和context.getAllProperties(),但没有得到响应 感谢您的任何意见Apache nifi Nifi:在自定义处理器中读取外部属性,apache-nifi,Apache Nifi,我已经更新了变量注册表以指向自定义属性文件,并且我能够使用表达式语言在处理器中读取这些文件,而不会出现任何问题 如何在自定义处理器(扩展AbstractProcessor)的OnTigger()中读取它们 我尝试了flowFile.getAttributes()和context.getAllProperties(),但没有得到响应 感谢您的任何意见 感谢澄清,您想在CustomProcessor\onTrigger()方法的应用程序逻辑中引用这些外部定义变量的值吗 你可以: 通过查询或加载变量定
感谢澄清,您想在
CustomProcessor\onTrigger()方法的应用程序逻辑中引用这些外部定义变量的值吗
你可以:
通过查询或加载变量定义。一旦引用了变量定义,就可以根据需要解析和使用它们李>
如果流文件属性或处理器属性支持表达式语言且范围适当,则可以通过这些属性或属性引用它们。PropertyDescriptor
将列出expressionLanguageSupported()
并返回一个ExpressionLanguageScope
,它是一个枚举
,由无
、变量\u注册表
和流文件\u属性
(还包括VR)组成李>
我不理解您希望代码加载流管理员无法控制的自定义变量的场景,这些变量将通过处理器属性或流文件属性填充。如果您确实觉得需要访问无法通过上下文或流文件访问的自定义变量,可以使用上面的选项1,但理论上也可以将这些变量存储在环境变量、系统属性等中。感谢您的输入。同时,我已经加载了nifi.properties和为variableregistry属性设置的相应资源,它正在按预期工作。对于选项1,我似乎需要扩展该类并实现许多抽象方法。我将进一步了解这一点,并了解如何重构我的更改。再次感谢您绝对不需要扩展nifiproperty
。获取该类的实例并调用现有的访问器。你真的不应该直接对课堂做任何事情,我认为你滥用了虚拟现实。通常应使用流文件属性或属性处理器中的EL读取这些值。