[
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)