[ 
https://issues.apache.org/jira/browse/NIFI-9754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joe Gresock resolved NIFI-9754.
-------------------------------
    Fix Version/s: 1.16.0
       Resolution: Fixed

> Introduce new class to nifi-api that provides the fields necessary from 
> VersionedFlowSnapshot for NiFi's use
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: NIFI-9754
>                 URL: https://issues.apache.org/jira/browse/NIFI-9754
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework, NiFi Stateless
>            Reporter: Mark Payne
>            Assignee: Mark Payne
>            Priority: Major
>             Fix For: 1.16.0
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> The VersionedFlowSnapshot class provides several getters/setters for things 
> like the flow contents, storage location, name, and version. NiFi makes use 
> of many of these fields (but not all). Also, the Stateless Bootstrap requires 
> that a VersionedFlowSnapshot be provided to create a Stateless flow.
> However, the VersionedFlowSnapshot is located within the 
> nifi-registry-data-model module, and not the nifi-api. Unfortunately, it 
> cannot be brought over into the nifi-api module because it has a dependency 
> on the jax-rs {{Link}} class, and perhaps other dependencies, that we cannot 
> introduce into nifi-api.
> However, we need a class in nifi-api that provides the same types of 
> elements: the flow contents, parameter contexts, external controller 
> services, and metadata.
> This should be used for the Stateless Bootstrap instead of 
> VersionedFlowSnapshot. Currently, the dependency on VersionedFlowSnapshot 
> means that we must create the stateless engine's ClassLoader in such a way 
> that it loads VersionedFlowSnapshot and other classes from the enclosing 
> application's ClassLoader, which causes our Classloader isolation not to work 
> properly for the stateless engine (though extensions still have proper 
> classloader isolation). If we introduce a new class into nifi-api, we have 
> the ability to provide better classloader isolation, since only the nifi-api 
> jar and other jars on the nifi lib/ directory must be shared between the 
> stateless engine and the caller.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to