[
https://issues.apache.org/jira/browse/NIFI-4424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16180776#comment-16180776
]
ASF GitHub Bot commented on NIFI-4424:
--------------------------------------
Github user joewitt commented on the issue:
https://github.com/apache/nifi/pull/2176
@peter-gergely-horvath please go into the file it references that lists
the RAT issues and share what you're seeing. The entire full clean build with
contribution check should be perfectly clear and I run it often and it is. But
some folks are reporting issues like you're noting.
Thanks
> 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)