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