[ 
https://issues.apache.org/jira/browse/NIFI-5673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16670678#comment-16670678
 ] 

ASF GitHub Bot commented on NIFI-5673:
--------------------------------------

GitHub user bbende opened a pull request:

    https://github.com/apache/nifi/pull/3119

    NIFI-5673 Support auto loading of new NARs

    This PR introduces a new property in nifi.properties where you can specify 
a directory that will be watched for new NARs (defaults ./extensions), and upon 
finding them will make any extensions in those NARs available to the running 
application without requiring a restart.
    
    In addition, this PR includes a refactoring of the ExtensionManager to 
remove it's static use and make it an instance that is injected everywhere. 
This will help make the framework code more testable going forward.
    
    NOTE: Currently the UI retrieves the available types during initial load of 
the UI and never retrieves them again because they couldn't change, so this 
will have to be changed in a follow on PR.
    
    Some scenarios to consider when testing...
    
    - Dependencies across NARs - handled by keeping track of skipped NARs until 
the a new NAR is available matching the required dependency
    
    - NARs still being written - handled by only consider the NAR once the last 
modified time is at least 5 seconds old
     
    - Custom UIs - make sure the custom UI is available for a component that 
was auto-loaded


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/bbende/nifi NIFI-5673

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/nifi/pull/3119.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3119
    
----
commit d7561ffa5601e4afd708fdbf8198f696bf3b2bbd
Author: Bryan Bende <bbende@...>
Date:   2018-10-12T15:15:30Z

    NIFI-5673 Set up property/assembly for new auto-load directory
    - Set up NarAutoLoader to watch directory for new files
    - Move NarAutoLoader to JettyServer since it will need access to 
ExtensionManager
    - Created NarLoader to shared between NarAutoLoader and the framework
    - Created nifi-framework-nar-loading-utils so we can use nifi-documentation 
to call DocGenerator
    - Add additional bundles to overall map in NarClassLoaders as they are 
loaded
    - Added handling of skipped NARs to include them in next iteration
    - Added check of last modified timestamp on NARs
    - Refactored JettyServer so we can load additional web contexts while the 
application is running
    - Setting up unit tests

commit 81ed267f68c69566851d75b4a99b15e1a05f503c
Author: Bryan Bende <bbende@...>
Date:   2018-10-29T20:19:57Z

    NIFI-5673 Remove static use of ExtensionManager

commit e126bfca87c79272836c7c281d6d80f09d9721e4
Author: Bryan Bende <bbende@...>
Date:   2018-10-30T19:51:37Z

    NIFI-5673 Adding unit tests for NarLoader

commit 01a7feb9bdd02ef3407a3b3acd5f05c0938e2e49
Author: Bryan Bende <bbende@...>
Date:   2018-10-31T15:36:49Z

    NIFI-5673 Extracting interface for ExtensionManager and splitting discovery 
into it's own interface

----


> Support auto loading of new NARs
> --------------------------------
>
>                 Key: NIFI-5673
>                 URL: https://issues.apache.org/jira/browse/NIFI-5673
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Bryan Bende
>            Assignee: Bryan Bende
>            Priority: Minor
>
> We should be able to detect when new NARs have been added to any of the NAR 
> directories and automatically load them and make the components available for 
> use without restarting the whole NiFi instance.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to