--- layout: docs title: Rules engine header: Rules engine prev_section: user-guide/defining-rules next_section: user-guide/managing-rules doc: true --- Easy Rules engine handles a registry of rules with unique names. Each instance of Easy Rules engine can be seen as a separate namespace. Rules are applied according to their natural order. Easy Rules engine provides the following parameters:
Parameter Type Required Default
skipOnFirstAppliedRule boolean no false
rulePriorityThreshold int no Integer.MAX_VALUE
The `skipOnFirstAppliedRule` parameter tells the engine to skip next applicable rules when a rule is applied. The `rulePriorityThreshold` parameters tells the engine to skip next rules if priority exceeds the defined threshold. You can specify these parameters at rules engine construction time. ## Create a default rules engine To create a default Easy Rules engine and register a rule, use the following snippet: ```java RulesEngine rulesEngine = new DefaultRulesEngine(); rulesEngine.registerRule(myRule); ``` You can fire registered rules as follows: ```java rulesEngine.fireRules(); ``` ## Create a annotated rules engine If your rules are annotated POJOs, you have to use the `AnnotatedRulesEngine` to register them: ```java AnnotatedRulesEngine rulesEngine = new AnnotatedRulesEngine(); rulesEngine.registerRule(myRule); ``` As with default engine, you can fire rules using the following snippet : ```java rulesEngine.fireRules(); ```