PacktLib: Drools Developer’s Cookbook

Drools Developer's Cookbook


About the Author

About the Reviewers


Expert: The Rule Engine


Declaring facts in the engine

Declaring facts using XML

Adding logging to view rules execution behavior

Using timer-based rules

Implementing calendar-based rules

Monitoring query changes in real time

Expert: Behind the Rules


Marshalling knowledge sessions

Using persistence to store knowledge

How to discard duplicated facts on insertion

Using a custom classloader in a knowledge agent

Verifying the quality of rules with the Drools Verifier

Monitoring knowledge with JMX

Guvnor: Centralized Knowledge Management


Creating our model definition with the Model Editor

Importing our model definition

Creating data enumerations

Using From Collect patterns in the Guided BRL Editor

Organizing knowledge with Working Sets

Creating rules templates

Creating knowledge snapshots

Guvnor: Advanced Features and Configuration


Setting and creating a GUI language

Backing up your knowledge

Configuring MySQL as the default rules repository

Configuring the repository files location

Obtaining resources using the REST API

Fusion: Processing Complex Events


How to declare our facts as events

Testing our application using a pseudo-clock

Entry-points: What they are and how we can use them

Setting up event stream processing mode

Sliding Windows

Event correlations using temporal operators

Executing Drools Remotely


Knowledge services and multiple endpoints configuration

Deploying the Drools Server in JBoss AS 5.x

Creating commands with XStream marshallers

Using the REST interface to execute commands

Testing the SOAP interface with soapUI

Integration: How to Connect Drools


Setting up Drools using Spring Framework

Configuring JPA to persist our knowledge with Spring Framework

Integrating Apache Camel in your project

Configuring Apache Camel with Spring Framework

Executing Drools commands from a JMS queue

Planner: Optimizing Your Automated Planning


Solving a resource assignment problem

Using a Simulated Annealing acceptor

Terminating the Solver

Creating a basic benchmarker

jBPM5: Managing Business Processes


Creating a business process manually

Testing your business processes

Creating and executing human tasks

Monitoring process a activity and creating reports

Monitoring a business process with Drools Fusion