[ 
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)

Reply via email to