Book Image

Mastering JBoss Drools 6

By : Mariano De Maio, Mauricio Salatino, Esteban Aliverti
Book Image

Mastering JBoss Drools 6

By: Mariano De Maio, Mauricio Salatino, Esteban Aliverti

Overview of this book

Mastering JBoss Drools 6 will provide you with the knowledge to develop applications involving complex scenarios. You will learn how to use KIE modules to create and execute Business Rules, and how the PHREAK algorithm internally works to drive the Rule Engine decisions. This book will also cover the relationship between Drools and jBPM, which allows you to enrich your applications by using Business Processes. You will be briefly introduced to the concept of complex event processing (Drools CEP) where you will learn how to aggregate and correlate your data based on temporal conditions. You will also learn how to define rules using domain-specific languages, such as spreadsheets, database entries, PMML, and more. Towards the end, this book will take you through the integration of Drools with the Spring and Camel frameworks for more complex applications.
Table of Contents (18 chapters)
Mastering JBoss Drools 6
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Rule attributes


Drools rules are data-driven. This means that the only way to activate a rule is by adding data to the engine that matches the conditions of that rule. However, there are multiple circumstances where we will want some rules with matching situations to be filtered out. One of this filtering mechanism is called rule attributes.

Rule attributes are extra features that we add to our rules to modify their behavior in a specific way. There are many rule attributes (of which, we'll explain the most used ones and some of their possible combinations) and each one modifies the way we filter rules execution in a different way, as follows:

rule "simple attribute example"
enabled false
   when Customer()
   then System.out.println("we have a customer");
end

If the enabled attribute is set to false, the rule will be evaluated, however, it won't be executed. It is perhaps the simplest example of a rule attribute shown here to see that the rule attributes are written before the when part of...