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

Bryan Bende commented on NIFI-1002:
-----------------------------------

The change that is causing a compilation problem is to NarCloseable...

We used to have:
{code}
public static NarCloseable withComponentNarLoader(final Class componentClass) {
        final ClassLoader current = 
Thread.currentThread().getContextClassLoader();
        
Thread.currentThread().setContextClassLoader(componentClass.getClassLoader());
        return new NarCloseable(current);
    }
{code}

Which is replaced with:
{code}
public static NarCloseable withComponentNarLoader(final Class componentClass, 
final String componentIdentifier) {
        final ClassLoader current = 
Thread.currentThread().getContextClassLoader();
        final ClassLoader instanceClassLoader = 
ExtensionManager.getClassLoader(componentClass.getName(), componentIdentifier);
        Thread.currentThread().setContextClassLoader(instanceClassLoader);
        return new NarCloseable(current);
    }
{code}

The WebSocket code was using 
NarCloseable.withComponentNarLoader(WebSocketServerFactory.class)  to set the 
context ClassLoader to the class that loaded WebSocketServerFactory, but I feel 
like we should try to avoid using NarCloseable outside the framework bundle 
right? 

The withComponentNarLoader method was specifically created for wrapping 
processors, controller services, and reporting tasks.

> support for Listen WebSocket processor 
> ---------------------------------------
>
>                 Key: NIFI-1002
>                 URL: https://issues.apache.org/jira/browse/NIFI-1002
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: 0.4.0
>            Reporter: sumanth chinthagunta
>            Priority: Minor
>              Labels: newbie
>
> A WebSocket listen processor will be helpful for IoT data ingestion.
> I am playing with embedded Vert.X  for WebSocket and also ability to  put 
> FlowFiles back to WebSocket client via Vert.X EventBus.
> https://github.com/xmlking/nifi-websocket 
> I am new to NiFi. any advise can be  helpful.  
> PS: I feel forcing Interfaces for Controller Services is unnecessary as in 
> many cases Controller Services are only used by a set of Processors and 
> developers usually  bundle them together. 
>     



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to