项目背景:鉴于项目需求,需要删除指定的nifi自带的processor
项目构建解析:nifi所有的processor都在nar-bundles目录下,大致可分为三种类型,第一种是基础框架类型,这种一般不能够删除,删除会导致系统启动异常;第二种是后期扩展类型,这种一般类似于集成了spark,ambari之类的,单独一个目录存放;第三种是标准类型,这种应该算是最初nifi的processor,都是一些常用的,他们被放在了一个standard目录下,在binary版本的nifi下是以一个nar存在的。
解决方案:
(我这边思考的共有俩种方案,读者可选择性参考)
(1)从binary版本的nifi下手,我们扩展自己的processor都是通过往lib目录下丢自己写的processor的包来完成扩展的,同样如果要做nifi的删减,那么也是直接删除对应的nar包即可,但对于standard呢?里面可能有的是需要的有的不需要,怎么办?那么就得通过先修改source版本的standard的注册文件,将不需要的全部注释掉,然后重新编译。最后将build通过的nar包替换binary版本中的nar包,这样就可以了。
(2)