2017-08-10 84 views

回答

1

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

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

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