[
https://issues.apache.org/jira/browse/NIFI-13813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Handermann updated NIFI-13813:
------------------------------------
Description:
The {{org.apache.nifi.NiFi}} class for launching the system uses the bootstrap
Class Loader and reflection to load {{NiFiProperties}}, which introduces a
tight and unclear coupling between the bootstrap process and the runtime
application. With recent refactoring of {{nifi-bootstrap}}, this dependency on
{{nifi-properties-loader}} in the bootstrap library directory should not be
required.
Instead, the runtime {{NiFi}} class can read the initial application properties
for loading NAR modules, and then use the Framework NAR, which includes
{{nifi-properties-loader}} to run standard loading operations. This approach
removes the unclear coupling to the bootstrap class loader.
In addition to these changes, the structure of the {{NiFi}} class should be
refactored so that specific operations like initializing the JUL to SLF4J
Bridge and setting the uncaught exception handler occur before other operations.
was:
The {{org.apache.nifi.NiFi}} class for launching the system uses the bootstrap
Class Loader and reflection to load {{{}NiFiProperties{}}}, which introduces a
tight and unclear coupling between the bootstrap process and the runtime
application. With recent refactoring of {{{}nifi-bootstrap{}}}, this dependency
on {{nifi-properties-loader}} in the bootstrap library directory should not be
required.
Instead, the runtime {{NiFi}} class can read the initial application properties
for loading NAR modules, and then use the Framework NAR, which includes
{{nifi-properties-loader}} to run standard loading operations. This approach
removes the unclear coupling to the bootstrap class loader.
In addition to these changes, the structure of the {{NiFi}} class should be
refactored so that specific operations like initializing the JUL to SLF4J
Bridge and setting the uncaught exception handler occur before other operations.
> Refactor NiFi Runtime Initialization and Property Loading
> ---------------------------------------------------------
>
> Key: NIFI-13813
> URL: https://issues.apache.org/jira/browse/NIFI-13813
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework
> Reporter: David Handermann
> Assignee: David Handermann
> Priority: Major
>
> The {{org.apache.nifi.NiFi}} class for launching the system uses the
> bootstrap Class Loader and reflection to load {{NiFiProperties}}, which
> introduces a tight and unclear coupling between the bootstrap process and the
> runtime application. With recent refactoring of {{nifi-bootstrap}}, this
> dependency on {{nifi-properties-loader}} in the bootstrap library directory
> should not be required.
> Instead, the runtime {{NiFi}} class can read the initial application
> properties for loading NAR modules, and then use the Framework NAR, which
> includes {{nifi-properties-loader}} to run standard loading operations. This
> approach removes the unclear coupling to the bootstrap class loader.
> In addition to these changes, the structure of the {{NiFi}} class should be
> refactored so that specific operations like initializing the JUL to SLF4J
> Bridge and setting the uncaught exception handler occur before other
> operations.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)