Hey Peter,
It looks like the nifi-hive-nar does not have a dependency on the
nifi-standard-services-api-nar.
In order for a component to reference a Controller Service, we need to ensure
that both the Controller Service
implementation and the component referencing it share the same common
definition for the Controller Service
interface. To do that, we have to ensure that the interface is loaded from the
same ClassLoader. So we use NAR
parents to do that.
So you'd need to add the following dependency to nifi-hive-nar:
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-standard-services-api-nar</artifactId>
<type>nar</type>
</dependency>
This will will cause the parent of the Hive NAR to be the standard-services-api
NAR, so that it can properly
link the interface & implementation together.
Thanks
-Mark
> On Nov 23, 2016, at 1:02 PM, Peter Wicks (pwicks) <[email protected]> wrote:
>
> I'm working on a ticket to add HIVE support to QueryDatabaseTable
> (NIFI-3093). I'm doing this by adding a HIVE DatabaseAdapter and everytime I
> find something that doesn't work in HIVE I add a "getXXXSupported" property
> to DatabaseAdapter.
>
> Initially I had my HiveDatabaseAdapter in Standard Processors with the others
> and had no issues seeing it in the UI and testing my code, but then I decided
> it made sense to refactor so I moved the base DatabaseAdapter interface to
> DBCP API so it could be centrally referenced without including Standard
> Processors as a reference, and moved my new HiveDatabaseAdapter to the HIVE
> Processors NAR to show up on the list of adapters.
>
> Now Generic and Oracle still show up on the list but my HIVE one is not
> showing up. I've pushed everything up to a branch, would appreciate an extra
> pair of eyes:
>
> https://github.com/patricker/nifi/tree/NIFI-3093
>
> Thanks!
> Peter