Both Drools and Esper can dynamically enforce rules and do not require a restart of Storm or JVM.
Both Esper and Drools Fusion can handle complex events, usually with different tradeoffs.
Spark streaming, Storm, Yahoo S4 and Apache Samza are in the same distributed domain data flow. Any of these can be used to house Esper / Drools. For Storm, I think that since it repeats the tuples that you want to either remove duplicates before sending to Drools / Esper, or to design your continuous requests waiting for possible duplicate deliveries.
source share