Created on 05-24-2017 08:17 AM - edited 09-16-2022 04:39 AM
Hello,
I am going to make a custom processor which needs NIFI template xml file's data(existing saved template) in run time, is this possible in nifi to read existing nifi template file's data in run time.
Thanks
Created 05-26-2017 02:01 PM
That's interesting.
You can read it just like a regular XML with a SAX or DOM parser like Jackson.
What do you need from the XML?
You could read configuration file elsewhere or pass it into your processor.
Created 05-26-2017 02:01 PM
That's interesting.
You can read it just like a regular XML with a SAX or DOM parser like Jackson.
What do you need from the XML?
You could read configuration file elsewhere or pass it into your processor.
Created 05-29-2017 03:15 PM
Thanks Timothy
I have find out the way to read template's xml file in onTrigger method of my custom processor, but I am getting some issues.
I am using getTemplates() method of StandardNiFiServiceFacade class that implements NiFiServiceFacade interface, and I make object of that interface like this --
private NiFiServiceFacade serviceFacade = new StandardNiFiServiceFacade();
in my custom processor's code. But when I am going to up my nifi server, I got error on this line.
Below are the error I am getting:
java.util.ServiceConfigurationError: org.apache.nifi.processor.Processor: Provider org.apache.nifi.processors.hadoop.SparkConnector could not be instantiated at java.util.ServiceLoader.fail(ServiceLoader.java:232) ~[na:1.8.0_111] at java.util.ServiceLoader.access$100(ServiceLoader.java:185) ~[na:1.8.0_111] at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384) ~[na:1.8.0_111] at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) ~[na:1.8.0_111] at java.util.ServiceLoader$1.next(ServiceLoader.java:480) ~[na:1.8.0_111] at org.apache.nifi.nar.ExtensionManager.loadExtensions(ExtensionManager.java:116) ~[nifi-nar-utils-1.1.2.jar:1.1.2] at org.apache.nifi.nar.ExtensionManager.discoverExtensions(ExtensionManager.java:97) ~[nifi-nar-utils-1.1.2.jar:1.1.2] at org.apache.nifi.NiFi.<init>(NiFi.java:139) ~[nifi-runtime-1.1.2.jar:1.1.2] at org.apache.nifi.NiFi.main(NiFi.java:262) ~[nifi-runtime-1.1.2.jar:1.1.2]
Caused by: java.lang.NoClassDefFoundError: org/apache/nifi/web/revision/RevisionClaim at org.apache.nifi.processors.hadoop.SparkConnector.<init>(SparkConnector.java:53) ~[nifi-hdfs-processors-1.1.2.jar:1.1.2] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_111] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_111] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_111] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_111] at java.lang.Class.newInstance(Class.java:442) ~[na:1.8.0_111] at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380) ~[na:1.8.0_111] ... 6 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.nifi.web.revision.RevisionClaim at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_111] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_111] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_111] ... 13 common frames omitted
I wont able to understand what exactly is the problem, as I have already added all required jar files in nar. Still I am getting this error. Please suggest me what I am doing wrong here or tell me some alternate way if you know that how I get all template object in TemplateEntity class in my onTrigger method of customProcessor.
Thanks in advance