[ https://issues.apache.org/jira/browse/NIFI-4424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16198311#comment-16198311 ]
ASF GitHub Bot commented on NIFI-4424: -------------------------------------- Github user peter-gergely-horvath closed the pull request at: https://github.com/apache/nifi/pull/2176 > org.apache.nifi.NiFi does not allow programmatic access to the NiFi engine > -------------------------------------------------------------------------- > > Key: NIFI-4424 > URL: https://issues.apache.org/jira/browse/NIFI-4424 > Project: Apache NiFi > Issue Type: Improvement > Components: Core Framework > Affects Versions: 1.3.0 > Reporter: Peter Horvath > > Class {{org.apache.nifi.NiFi}} was not designed with extensibility or > programmatic access in mind. > This class is the entry point of the engine, however, the current > implementation does not allow > a potential caller (e.g. an integration test harness) to bootstrap the engine > and then shut it down properly: > The main method {{org.apache.nifi.NiFi#main}} simply logs any exception, > which is fine > when started from the command line, however prevents programmatic usage and > detecting error conditions (Exceptions) that would be essential to > programatically access > it from an integration test. > The constructor {{org.apache.nifi.NiFi#NiFi}} registers an > {{UncaughtExceptionHandler}}, > a JVM {{Shutdown Hook}} and changes logging framework settings. > *Please change this behaviour:* > Expose *two* methods, one of which accepts the command line argument one > would pass > to the NiFi process and another one, which allows the NiFiProperties object > to be passed. > This method should return the {{NiFi}} object instance for further > programmatic access. > The logic used to register {{UncaughtExceptionHandler}}, a JVM Shutdown Hook > and > changing logging framework settings should be extracted to a {{protected}} > *instance* > method so that a client can override their behaviour with a NO-OP. > *Please note these changes are baby-steps towards the implementation of a > NiFi integration test harness.* -- This message was sent by Atlassian JIRA (v6.4.14#64029)