Ashraf,

Are you looking for a step-by-step tutorial? The Developer Guide [1] does 
discuss Controller Services to some extent. You can also take a look at an 
example like SSLContextService and the Maven directory structure here [2].

[1] 
https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html#controller-services
 
<https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html#controller-services>
[2] 
https://github.com/apache/nifi/tree/master/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle
 
<https://github.com/apache/nifi/tree/master/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle>


Andy LoPresto
[email protected]
[email protected]
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69

> On Apr 21, 2016, at 12:47 PM, Ashraf Hasson <[email protected]> wrote:
> 
> Hi Andy,
> 
> Can you complement your list with guides or how-tos on building a custom 
> controller service and tie that into a processor that leverages the service. 
> The only blog I found on this was Phillip Grenier's article 
> (http://www.nifi.rocks/developing-a-custom-apache-nifi-controller-service/ 
> <http://www.nifi.rocks/developing-a-custom-apache-nifi-controller-service/>) 
> but it doesn't detail how the bundle directory structure and dependencies 
> were built with maven.
> Developing a Custom Apache Nifi Controller Service - NiFi ... 
> <http://www.nifi.rocks/developing-a-custom-apache-nifi-controller-service/>
> www.nifi.rocks <http://www.nifi.rocks/>
> How to develop a custom Apache Nifi controller service. The example in this 
> post will utilize Java Properties files.
> 
> Thanks,
> 
> 
> From: Andy LoPresto <[email protected]>
> Sent: April 20, 2016 6:59 PM
> To: [email protected]
> Subject: Re: Where can I find documentation of implementing custom processor?
> 
> Hi Keith,
> 
> I’ve moved this conversation to the dev list as that is where coding is more 
> frequently discussed as opposed to the users list. If you’re not already 
> subscribed, you can do so following the instructions here [1] to ensure you 
> see any replies.
> 
> The best approach is probably to examine the standard processors in [2]. Here 
> you will be able to see how other developers have extended the 
> AbstractProcessor class with domain-specific implementations. One example is 
> EncryptContent [3] — you can see that while a lot of the encryption logic is 
> delegated to the various *Encryptor classes, the code includes 
> processor-specific tasks like configuring PropertyDescriptors (how users 
> enter properties for the processor) and validating those values, configuring 
> relationships like success and failure, and using the session and flowfile 
> with StreamCallbacks and reporting provenance events.
> 
> For extensive documentation on writing a processor, the Developer Guide [4] 
> is the most comprehensive resource and describes the processor API, 
> documenting your processor, common patterns, and error handling & testing. If 
> you have specific questions during the development process, please feel free 
> to ask on the dev list. The community has a broad and deep knowledge and is 
> excited to help new developers with general NiFi development or very 
> domain-specific questions as well.
> 
> [1] https://nifi.apache.org/mailing_lists.html 
> <https://nifi.apache.org/mailing_lists.html>
> [2] 
> https://github.com/apache/nifi/tree/e4b7e47836edf47042973e604005058c28eed23b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard
>  
> <https://github.com/apache/nifi/tree/e4b7e47836edf47042973e604005058c28eed23b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard>
> [3] 
> https://github.com/apache/nifi/blob/e4b7e47836edf47042973e604005058c28eed23b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/EncryptContent.java
>  
> <https://github.com/apache/nifi/blob/e4b7e47836edf47042973e604005058c28eed23b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/EncryptContent.java>
> [4] https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html 
> <https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html>
> 
> 
> Andy LoPresto
> [email protected] <mailto:[email protected]>
> [email protected] <mailto:[email protected]>
> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69
> 
>> On Apr 20, 2016, at 3:42 PM, Keith Lim <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Is there any good example of implementing a custom Processor?
>> 
>> Thanks,
>> Keith

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to