Bryan, This is great! I've been meaning to do this for a while... just haven't gotten around to it. Very helpful. It's done pretty well, too, I would say. I have just a few things I'd point out: In the Processor implementation, I would avoid the:this.myProperty = context.getProperty(MY_PROPERTY).getValue(); and defining the myProperty variable altogether. This approach is not thread-safe, and the context.getProperty() returns PropertyValue, which has some nice convenience methods like "asInteger", etc. In the onTrigger method, the argument names are 'processContext' and 'processSession'. I would call these simply 'context' and 'session', as it's much easier to type and these are the names that are typically used. In the processor's directory you may also want to build a directory structure of:src/main/resources/docs/org.apache.nifi.processors.MyProcessor/index.html with a stubbed out documentation. The Standard Processors all use the same documentation. Then, in the application, if you right-click on a Processor and click "Usage", that's where the information comes from. This is very helpful! I will be building this locally so I can start making use of it.
> Date: Sun, 4 Jan 2015 15:23:56 -0500 > Subject: Processor Bundle Archetype > From: [email protected] > To: [email protected] > > After setting up a project to develop some custom processors, I started > thinking it would be useful to have a really easy way to jump start a new > project, so I created a Maven archetype that can be used to help get > started: > > https://github.com/bbende/nifi-processor-bundle-archetype > > If anyone has any feedback on useful defaults, or best practices to > include, let me know. > > If something like this already exists, then I'll chalk this up to a good > learning experience since I learned a lot about multi-module archetypes :) > > -Bryan
