Hello,

Is there a specific issue/problem you are trying to figure out?

If you are just interested in how it works, the main code to look at
would be in FlowController in the "reload" methods, here is the one
for a processor node:

https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java#L1238-L1275

The "additional urls" parameter to that method would be the calculated
set of URLs from the any property descriptors that have
dynamicallyModifiesClassPath(true).

Those urls are calculated here:

https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/AbstractConfiguredComponent.java#L127-L151

Thanks,

Bryan


On Wed, Feb 7, 2018 at 12:30 PM, Sivaprasanna <sivaprasanna...@gmail.com> wrote:
> With NiFi 1.1 onward, support to load resources to classpath dynamically is
> supported. I read the articles related to this on:
>
>    -
>    
> https://docs.hortonworks.com/HDPDocuments/HDF3/HDF-3.0.3/bk_developer-guide/content/per-instance-classloading.html
>    - https://bryanbende.com/development/2016/11/24/apache-nifi-class-loading
>
> I understand we can make a property this way by setting
> PropertyDescriptor.dynamicallyModifiesClasspath(true). I want to know how
> this gets communicated with the framework and the framework handles this. I
> dug more and found that ExtensionManager. createInstanceClassLoader() does
> this job. Correct me, if I'm wrong. If that's the case, I want to know how
> the internal call happens i.e. setting dynamicallyModifiesClassPath
> triggers the instance class loader.

Reply via email to