[ 
https://issues.apache.org/jira/browse/NIFI-14480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17945113#comment-17945113
 ] 

Naman Arora commented on NIFI-14480:
------------------------------------

Hi [~exceptionfactory],

Thanks again for the insights — really appreciate you taking the time.

I completely understand the concerns around DSL layering and cluster-wide file 
syncing.

That said, I'd love to ask if there's room to reconsider inclusion under a few 
caveats:

1. *{*}Narrowed Scope{*}*: I'm happy to remove dynamic DRL loading (or move to 
controller-service-based config) and focus solely on static DRL + JSON use 
cases to avoid cluster issues.
2. *{*}Avoid Redundancy{*}*: I’ll drop internal retry and lean on NiFi's native 
mechanisms.
3. *{*}Why Drools{*}*: Unlike Jolt or JSLT, Drools allows more complex 
conditional logic, chaining, and reusability — which some enterprise teams 
(especially those using BPMN or BRMS) already rely on. It’s not a replacement, 
just a niche enabler.
4. *{*}Incubation Note{*}*: I’m keeping a close watch on Drools’ Apache KIE 
incubation progress — but it’s battle-tested, and I’d be happy to pin 
dependencies carefully if needed.

Would love your guidance on how we could reshape the proposal to make it more 
maintainable and appropriate for inclusion — even as a contributed extension, 
if not under `nifi-standard`.

Thanks again, 
Naman

> Add DroolsProcessor for rule-based JSON processing with dynamic/static DRL 
> support
> ----------------------------------------------------------------------------------
>
>                 Key: NIFI-14480
>                 URL: https://issues.apache.org/jira/browse/NIFI-14480
>             Project: Apache NiFi
>          Issue Type: New Feature
>          Components: Extensions
>            Reporter: Naman Arora
>            Priority: Major
>
> This processor provides integration of the Drools Rule Engine with Apache 
> NiFi. It allows for flexible rule-based processing of JSON payloads in two 
> modes:
> 1. **Static DRL Mode**:
>    - User provides an absolute path to a DRL file.
>    - That rule is used for all incoming flowfiles.
> 2. **Dynamic DRL Mode**:
>    - User specifies a base path and a key name.
>    - Processor extracts the relative DRL path from the key inside the 
> flowfile JSON payload.
>    - Dynamically fetches the rule and executes it.
> Additional Features:
> - **File Watcher** service that watches static and dynamic paths for DRL file 
> changes and reloads the KIE Container automatically.
> - **Retry Mechanism** for rule execution with configurable retry attempts.
> This processor supports advanced decisioning and rule separation, and helps 
> enable dynamic business rule application inside NiFi dataflows.
> I would like to contribute this processor under the Apache License. I have 
> signed and submitted the ICLA.
> Let me know the next steps or if any feedback is required. Thanks!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to