获取处理器名称和处理器组名称的代码是什么

时间:2017-08-10 19:58:46

标签: apache-nifi

Groovy Code中是否有一种方法可以获取ExecuteScript处理器所在的处理器组名称和Groovy代码所在的ExecuteScript处理器的处理器名称。如果是这样,代码将是什么。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

要获取处理器名称,请使用ProcessContext#getName()ProcessContext类可通过提供的变量ExecuteScriptcontext引用,因此代码为String processorName = context.getName()

要获取进程组名称,我不知道通过框架代码的简单方法。当然,您可以使用Apache NiFi REST API来请求进程组列表并进行迭代,检查进程组是否包含具有当前处理器标识符的处理器。

答案 1 :(得分:0)

获取所有处理器和进程组名称的名称,即可使用 以下代码。

final EventAccess access = context.getEventAccess();
final ProcessGroupStatus procGroupStatus = access.getControllerStatus();
procGroupStatus.getProcessGroupStatus();
final ProcessorStatus processorstatus = procGroupStatus.getProcessorStatus()

ProcessorStatus类包含getName方法,可用于获取其他处理器的名称。

以下是同一类的源代码供您参考。

https://github.com/apache/nifi/blob/master/nifi-api/src/main/java/org/apache/nifi/controller/status/ProcessorStatus.java