nifi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From DAVID SMITH <davidrsm...@btinternet.com>
Subject Help required with my custom controller service
Date Sun, 26 Jul 2015 20:45:14 GMT
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 thanksDave


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message