Hello world example

To use the framework, the easiest way is to use maven in your project.

So you should add the following dependencies :

Maven dependency for Chtijbug library
<dependency>
      <groupId>org.chtijbug.drools</groupId>
      <artifactId>drools-framework-runtime-base</artifactId>
      <version>1.5.0</version>
</dependency>
<dependency>
      <groupId>org.chtijbug.drools</groupId>
      <artifactId>drools-framework-runtime-entity</artifactId>
      <version>1.5.0</version>
</dependency>

 

You should add the following repository in your settings.xml :

 

 

 

Here is a code example :

Simple Example
package org.chtijbug.drools.runtime;
public class Main {
    public static void main(String args[]) {
        RuleBasePackage ruleBasePackage = RuleBaseBuilder.createPackageBasePackage("fibonacci.drl") ;
        try {
            for (int i = 0; i < 1000; i++) {
                RuleBaseSession session1 = ruleBasePackage.createRuleBaseSession();
                Fibonacci fibonacci = new Fibonacci(5);
                session1.insertObject(fibonacci);
                session1.fireAllRules();
                session1.dispose();
                Thread.sleep(2000);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

Here in the example, we us one drl file but you can add mores like this :

Multiple rule files
RuleBasePackage ruleBasePackage = RuleBaseBuilder.createPackageBasePackage("fibonacci1.drl","fibonacci2.drl","fibonacci3.drl","fibonacci4.drl")

Here if you want to access to guvnor (you need to add the pojo model in the classpath)

package org.chtijbug.drools.runtime;
public class Main {
    public static void main(String args[]) {
        RuleBasePackage ruleBasePackage = RuleBaseBuilder.createGuvnorRuleBasePackage("http://localhost:8080/","drools-guvnor","fibonacci","LATEST","admin","admin") ;
        try {
            for (int i = 0; i < 1000; i++) {
                RuleBaseSession session1 = ruleBasePackage.createRuleBaseSession();
                Fibonacci fibonacci = new Fibonacci(5);
                session1.insertObject(fibonacci);
                session1.fireAllRules();
                session1.dispose();
                Thread.sleep(2000);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}