Rick,

I believe it depends on how you implement your processor, meaning what
class you extend from.
If you extend AbstractProcessor, then you can see that it creates a session
and calls commit for you.
If you extend AbstractSessionFactoryProcessor, or implemented the Processor
interface, then you would need to handle creating the session and calling
commit/rollback.

-Bryan

On Tue, Sep 8, 2015 at 2:54 PM, Rick Braddy <rbra...@softnas.com> wrote:

> Hi,
>
> During development of some new processors, I have been looking closely at
> standard processors to understand best practices. The Developer Guide
> suggests that one should call session "commit()" upon completion of
> onTrigger() session processing, which makes sense.  However, I notice in a
> number of standard processors that commit() is not called at all; e.g., see
> SplitText processor as an example of this.  Session transfer() gets called
> but no commit() calls.
>
> So my question is the commit() call necessary, or are sessions being
> auto-committed if not rolled back?  Is there some penalty to calling
> session commit() vs. just calling transfer.
>
> Sorry for so many questions, but without a Nifi API reference guide, this
> seems like the fastest way to understand what's intended by the framework.
>
> Thanks
> Rick
>

Reply via email to