Brandon,
I've seen this occur when I forgot to add a dependency on the
ssl-context-service-api-nar in my NAR's pom.
You should have something like:
dependency
groupIdorg.apache.nifi/groupId
artifactIdssl-context-service-api/artifactId
version0.3.0-SNAPSHOT/version
typenar/type
/dependency
Is that by chance the issue, or is there something else going on?
Thanks
-Mark
From: b...@jhu.edu
Date: Mon, 10 Aug 2015 19:13:50 +
Subject: Re: Help required with my custom controller service
To: dev@nifi.apache.org
All,
Was this ever solved / explained? I'm having a similar issue. If there's
a simple answer that I'm missing that would be great... otherwise I might
post an example set of NARs somewhere tomorrow. Probably the simplest
question first is, if I want to create a custom processor that uses a
SSLContextService, what dependencies do I need to add where (assuming we're
using the processor NAR archetype)? I've created an example that compiles,
loads in NiFi, and can be dropped on the graph. However, it can not be
configured to use any currently existing SSLContextService, and any that
are created have the same UUID issue described by David. Thoughts?
Brandon
On Tue, Jul 28, 2015 at 10:50 AM Mark Payne marka...@hotmail.com wrote:
Dave,
In addition to the points that Aldrin brought up, are your CacheService
interface
and StandardCacheService classes in the same NAR?
If they are not in the same NAR, does your NAR for StandardCacheService
have a Maven dependency
on the NAR that houses CacheService?
Thanks
-Mark
From: aldrinp...@gmail.com
Date: Mon, 27 Jul 2015 23:26:58 -0400
Subject: Re: Help required with my custom controller service
To: dev@nifi.apache.org; davidrsm...@btinternet.com
Dave,
Some quick notes as I work through your setup.
Did you create an entry in your
NAR's org.apache.nifi.controller.ControllerService file? This would be in
src/main/resources/META-INF/services directory of your project. It seems
like this isn't likely the case, but a point that can sometimes get
overlooked.
Your accessing of the service property in your processor looks good.
Did you accidentally override AbstractControllerService#getIdentifier()?
It seems like this could lead to the error you are seeing, but it is hard
to be sure.
If you are able to share more code with us, we can provide some more
pointed assistance. Have you managed to get your processor and controller
service running within the test framework [1]? If not, I would suggest
doing so to cut down on iterations in debugging your problems as well as
providing a means for you to easily step through the code.
[1]
http://nifi.apache.org/docs/nifi-docs/html/developer-guide.html#testing
On Sun, Jul 26, 2015 at 4:45 PM, DAVID SMITH davidrsm...@btinternet.com
wrote:
Hi
I have been trying to write a simple Cache Controller Service that uses
a
Map to hold String, String key/value pairs. I am using
nifi-0.1.0-incubating. I have created an Interface called CacheService
which extends ControllerService.public interface CacheService extends
ControllerService {
I have created an implementation called StandardCacheService which is as
follows:
public class StandardCacheService extends AbstractControllerService
implements CacheService {
I have compiled the StandardCacheService and created a nar which I have
then put into my NiFi lib directory, my StandardCacheService Controller
Service appears in the Controller services tab of the NiFi Flow Settings
panel, I can edit it and enable it. Also there are no abnormal log
messages.
However, when I try to configure the CacheService in my test Processor,
again I get no errors but when I cannot see my StandardCacheService. My
processor has the following snippets to implement the Cache
Service/Controller:
public static final PropertyDescriptor CACHE_SERVICE = new
PropertyDescriptor.Builder()
.name(Cache Service)
.description(The Controller Service to use in order to obtain a
Cache Service)
.required(false)
.identifiesControllerService(CacheService.class)
.build();
final CacheService cache =
context.getProperty(CACHE_SERVICE).asControllerService(CacheService.class);
When configuring the processor, the 'Cache Service' drop down doesn't
show
a populated list showing my StandardCacheService, but it does allow me
to
create a new service, the resulting panel allows me to then select
StandardCacheService. When I select 'create' I get a UUID value in the
Value property of the Configure Processor panel. When I then apply this
the processor shows a yellow triangle, when I hover over it I get the
following message:
'Cache Service validated against UUID is invalid because Invalid
Controller service UUID is not a valid Controller service Identifier
or
does not reference the correct type of Controller service.'
Can you help please
Many