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

ASF GitHub Bot commented on METRON-777:
---------------------------------------

Github user mattf-horton commented on the issue:

    https://github.com/apache/metron/pull/530
  
    I compared with both nifi 1.3.0, which is a couple commits newer than your 
code, and nifi 1.1.2, which is a few commits older than your code.  They are 
different of course, but both are quite different than this PR's code tree:
    ```code
    -------------
    bundles-lib/src/main/java/org/apache/metron/bundles:
    
    BundleClassLoader.java              BundleThreadContextClassLoader.java     
ExtensionMapping.java           annotation
    BundleClassLoaders.java             BundleUnpacker.java                     
InstanceClassLoader.java        bundle
    BundleCloseable.java                ExtensionClassInitializer.java          
NotInitializedException.java    util
    BundleManifestEntry.java    ExtensionManager.java
    
    ./annotation/behavior:
    RequiresInstanceClassLoading.java
    
    ./bundle:
    Bundle.java         BundleCoordinate.java   BundleDetails.java
    
    ./util:
    BundleProperties.java       FileUtilities.java      HDFSFileUtilities.java  
VFSClassloaderUtil.java
    BundleUtil.java             FileUtils.java          StringUtils.java        
VFSFileUtilities.java
    
    -------------
    Ignoring for now the many files at the level of nifi-framework,
    nifi-nar-utils/src/main/java/org/apache/nifi: [rel/1.1.2]
    
    ./nar:
    ExtensionManager.java               NarClassLoader.java     
NarThreadContextClassLoader.java
    ExtensionMapping.java               NarClassLoaders.java    NarUnpacker.java
    InstanceClassLoader.java    NarCloseable.java
    
    ./util:
    FileUtils.java
    
    -------------
    In [rel/1.3.0] this changed to:
    
    ./nar:
    ExtensionMapping.java       NarClassLoader.java     NarManifestEntry.java   
SystemBundle.java
    NarBundleUtil.java  NarClassLoaders.java    NarUnpacker.java
    
    ./util:
    FileUtils.java
    -------------
    which is actually quite a bit different, but same essential structure.
    ```



> Create a plugin system for Metron based on 'NAR'
> ------------------------------------------------
>
>                 Key: METRON-777
>                 URL: https://issues.apache.org/jira/browse/METRON-777
>             Project: Metron
>          Issue Type: New Feature
>            Reporter: Otto Fowler
>            Assignee: Otto Fowler
>
> The success of the Metron project will be greatly dependent on community 
> participation, and with that the ability to adapt and extend Metron without 
> having to maintain a fork of the project.
> As organizations and individuals look to extend the Metron system with custom 
> parsers, enrichments, and stellar functions that may be proprietary in 
> nature, the ability to develop and deploy these extensions outside the Metron 
> code base is critically important.
> To that end, and after community discussion and proposal we create or 
> formalize the 'plugin' development story in Metron.  
> The proposal is to adapt the Apache Nifi NAR system for use in Metron.  This 
> will provide the system with:
> * archetype(s) for developer projects and independent development
> * defined packaging and metadata for 'plugin' products
> * loading and instantiation with classloader isolation capabilities
> * removing the necessity for shading plugin jars
> These capabilities will also enable other features, such as plugin lifecycle, 
> plugin configuration+redeployment, and other things.
> The plugin archetypes and their installation will be a followon



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to