Hello,
I am writing my first custom processor. I followed the example here https://www.nifi.rocks/developing-a-custom-apache-nifi-processor-json/ In the settings, I have /tmp/jsoniput/sample1.json file The source code; public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException { final AtomicReference<String> value = new AtomicReference<>(); getLogger().warn("sample - Farooq - 1 , value = <" + value.toString() + ">"); FlowFile flowfile = session.get(); getLogger().warn("sample - Farooq - 2"); if ( null == flowfile) { getLogger().warn("sample - Farooq - 2.1 - flowfile is NULL *** "); flowfile = session.create(); flowfile = session.get(); getLogger().warn("sample - Farooq - 2.2 - session.create() / session.get() --- NOT SURE "); } getLogger().warn("sample - Farooq - 2.3 JSON_PATH :" + context.getProperty(JSON_PATH).getValue()); session.read(flowfile, new InputStreamCallback() { @Override public void process(InputStream in) throws IOException { try { getLogger().warn("sample - Farooq - 3 JSON_PATH :" + context.getProperty(JSON_PATH).getValue()); Object obj = new JSONParser().parse(new FileReader("JSON_PATH")); getLogger().warn("sample - Farooq - 3.1 "); The log output: 2019-07-20 13:58:42,625 WARN [Timer-Driven Process Thread-4] o.a.nifi.processors.sitc.JsonProcessor JsonProcessor[id=fd8fe4ca-016b-1000-a6ed-c0e224bc7267] sample - Farooq - 1 , value = <null> 2019-07-20 13:58:42,625 WARN [Timer-Driven Process Thread-4] o.a.nifi.processors.sitc.JsonProcessor JsonProcessor[id=fd8fe4ca-016b-1000-a6ed-c0e224bc7267] sample - Farooq - 2 2019-07-20 13:58:42,625 WARN [Timer-Driven Process Thread-4] o.a.nifi.processors.sitc.JsonProcessor JsonProcessor[id=fd8fe4ca-016b-1000-a6ed-c0e224bc7267] sample - Farooq - 2.1 - flowfile is NULL *** 2019-07-20 13:58:42,625 WARN [Timer-Driven Process Thread-4] o.a.nifi.processors.sitc.JsonProcessor JsonProcessor[id=fd8fe4ca-016b-1000-a6ed-c0e224bc7267] sample - Farooq - 2.2 - session.create() / session.get() --- NOT SURE 2019-07-20 13:58:42,625 WARN [Timer-Driven Process Thread-4] o.a.nifi.processors.sitc.JsonProcessor JsonProcessor[id=fd8fe4ca-016b-1000-a6ed-c0e224bc7267] sample - Farooq - 2.3 JSON_PATH :/tmp/jsoninput 2019-07-20 13:58:42,626 ERROR [Timer-Driven Process Thread-4] o.a.nifi.processors.sitc.JsonProcessor JsonProcessor[id=fd8fe4ca-016b-1000-a6ed-c0e224bc7267] JsonProcessor[id=fd8fe4ca-016b-1000-a6ed-c0e224bc7267] failed to process session due to java.lang.NullPointerException; Processor Administratively Yielded for 1 sec: java.lang.NullPointerException java.lang.NullPointerException: null at org.apache.nifi.controller.repository.StandardProcessSession.getRecord(StandardProcessSession.java:574) at org.apache.nifi.controller.repository.StandardProcessSession.validateRecordState(StandardProcessSession.java:3132) at org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2187) And the basic flow: [image: image.png] Any ideas or guidance will be appreciated. Thanks Farooq