Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Mastering JBoss Drools 6
  • Toc
  • feedback
Mastering JBoss Drools 6

Mastering JBoss Drools 6

By : Mariano De Maio, Salatino, Aliverti
3 (1)
close
Mastering JBoss Drools 6

Mastering JBoss Drools 6

3 (1)
By: Mariano De Maio, Salatino, 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 (13 chapters)
close
12
Index

Working memory breakdown: the from clause


We've seen how rule conditions are written. So far, all these conditions have filtered data that was inserted in our KieSession (that is, inserted in the working memory). However, in some situations, we might need to check special conditions on collections that are different from the working memory, such as attributes of some objects, global variables, or subsets of the working memory itself that we can create dynamically. To be able to do so, Drools provides the from clause, which we can be used to define a specific search space outside of the working memory.

The following rule is a simple example of how we can use the from clause to look for specific attributes:

rule "For every notebook order apply points coupon"
     when
       $o: Order($c: customer, $lines: orderLines)
       OrderLine($item: item) from $lines
       Item(name == "notebook") from $item
     then
       insert(new Coupon($c, $o, CouponType.POINTS));
   end

The previous rule looks...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete