nifi:使用eclipse开发自己的nifi processor

1、安装JDK8,maven,eclipse配置maven管理工具。

2、eclipse新建maven项目,如下图所示

nifi:使用eclipse开发自己的nifi processor

3、点击next,进入如下图所示页面

nifi:使用eclipse开发自己的nifi processor

4、默认选项,继续点击next进入如下页面

nifi:使用eclipse开发自己的nifi processor

5.点击上图中箭头所指的按钮 Add Archetype进入如下所示页面

nifi:使用eclipse开发自己的nifi processor

6、填写:

Archetype Group Id:org.apache.nifi

Archetype Artifact Id:nifi-processor-bundle-archetype

Archetype Version:1.2.0

点击OK,可以看到nifi的archetype已经添加到meven中了。

nifi:使用eclipse开发自己的nifi processor

7.选择org.apache.nifi,点击next,如下图所示

nifi:使用eclipse开发自己的nifi processor

8、填写项目信息后点击finish完成项目创建

nifi:使用eclipse开发自己的nifi processor

9、创建完成以后项目下新生成3个目录,我们要开发的东西在nifi-nifitest-processors中完成。

nifi:使用eclipse开发自己的nifi processor


10、打开nifi-nifitest-processors目录如下:

nifi:使用eclipse开发自己的nifi processor

11、在包下新加类起名XWDCGetATags使之继承AbstractProcessor,注解tags中添加一些关键词,后面的实用过程中可以通过关键词查询processor

nifi:使用eclipse开发自己的nifi processor

12、新建几个PropertyDescriptor(接受页面配置的参数,如果不需要参数,可以不进行配置)

nifi:使用eclipse开发自己的nifi processor

13、新建几个Relationship(输出状态,成功或者失败或者其他)

nifi:使用eclipse开发自己的nifi processor

14.定义两个集合添加上面创建的PropertyDescriptor和Relationship

nifi:使用eclipse开发自己的nifi processor

15、添加初始化方法将步骤12,和13创建的属性添加到集合中

nifi:使用eclipse开发自己的nifi processor

16、添加步骤14中创建的属性的get方法

nifi:使用eclipse开发自己的nifi processor

17、onTrigger方法中实现自己的业务

自定义属性的值的获取方法:String = isagent = context.getProperty(IS_AGENT).getValue();

获取flowFile中的内容的方法:

byte[] buffer = new byte[(int) flowFile.getSize()];
session.read(flowFile, new InputStreamCallback() {
@Override
public void process(final InputStream in) throws IOException {
StreamUtils.fillBuffer(in, buffer);
}
});
String content = new String(buffer, StandardCharsets.UTF_8);

18、将自己处理后的结果返回给flowFile 我这里返回的是一个json

nifi:使用eclipse开发自己的nifi processor

19、找到文件org.apache.nifi.processor.Processor

nifi:使用eclipse开发自己的nifi processor

20、在里面添加:包名+类名,将processor暴露出来

nifi:使用eclipse开发自己的nifi processor

21、maven运行nifitest,会在项目nifi-nifitest-nar下生成一个nar的包,将包放在nifi目录下的lib目录中,重启nifi服务器即可看到自己添加的processor了。


源码地址:http://download.csdn.net/download/scujinxiang/10208384

参考: