Comment on page
Declarative Rules
Joule provides a business rules processor that acts upon micro batches within a streaming event context. The Rules processor integrates the JSR-94 compliant Drools engine.
org.drools:drools-XXXX:8.32.0.Final
rules:
name: anticipated high mobile usage
rule file: /home/joule/rules/dataUsageRules.drl
Attribute | Description | Data Type | Required |
---|---|---|---|
name | Name of processor | String | |
rule file | Drools rule file path | String | |
pool size | Non-functional setting to size the internal caching of Drools container | Integer Default: 8 |
package com.fractalworks.streams.processors.rules;
import com.fractalworks.streams.core.data.streams.StreamEvent;
global com.fractalworks.streams.core.data.streams.Context ctx;
global com.fractalworks.streams.processors.rules.RuleResponse response;
dialect "mvel"
rule "Low data usage"
when
StreamEvent( getValue("dataUsage") < 0.50,
getValue("daysleft") >= 15 )
then
response.setRuleId("Low data usage");
response.put("desc","Low data usage");
end
rule "Medium data usage"
when
$t : StreamEvent( getValue("dataUsage") > 0.50,
getValue("dataUsage") < 0.65,
getValue("daysleft") < 10)
then
response.setRuleId("Medium data usage");
response.put("desc","Medium data usage");
end
rule "High data usage"
when
$t : StreamEvent( getValue("dataUsage") > 0.90,
getValue("daysleft") <= 5)
then
response.setRuleId("High data usage");
response.put("desc","High data usage");
end
Last modified 6mo ago