Devin, DBCPConnectionPool is an implementation of the DBCPService interface. The DBCPService interface is in the nifi-dbcp-service-api and is the way you'd interact with the instance(s), which currently happen to be DBCPConnectionPool objects.
If you implement your own class that implements DBCPService (_not_ DBCPConnectionPool), you will need to declare it for the ServiceLoader, namely as a file in your project called src/main/resources/META-INF/services/org.apache.nifi.controller.ControllerService containing a line with the fully-qualified name of your implementation. You can follow the DBCPConnectionPool example, but note that you would not refer to DBCPConnectionPool at all in your NAR. Hopefully this hasn't made things more confusing, please let me know if you have more questions. Regards, Matt On Tue, Mar 15, 2016 at 6:51 PM, Devin Fisher < devin.fis...@perfectsearchcorp.com> wrote: > I'm having issues using a standard controller service (DBCPConnectionPool) > that is provided by nifi-dbcp-service-nar. But I'm having issues with my > nar. I have included a dependency on nifi-dbcp-service-api in my maven pom > and have used the property description that is the same as ExecuteSQL for > the DBCP_SERVICE property. When I load my processor in nifi I don't get a > list of DBCPConnectionPool controller service like I expect. I have an > ExecuteSQL processor in the same flow (for testing) and it list the > controller service I created just fine and uses it just fine. > > The problem seems to me (I don't have a development environment to confirm) > that the DBCPService.class that I use in my processor is not seen as the > same class object (because of the isolation features of NAR) as the one > that DBCPCOnnectionPool implements. I think I have mostly confirmed this by > implementing a dummy controller service that implements DBCPService in the > same NAR as my processor and my processor is able to list it just fine. But > the ExecuteSQL don't list my dummy controller service. So they seem to be > considered different classes. > > I think I'm doing something wrong because ExecuteSQL is not in the same nar > as DBCPConnectionPool. So they play nice together somehow but I don't see > what I need to do so that my nar works the same way. > > I'm enjoying developing against nifi and sorry if this is a rookie mistake. > > Devin >