Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Configuring drools and maven and writing hello world application using them

Tags:

java

maven

drools

I want to learn drools and maven can any one help me with the links for configuring drools and maven and writing a basic hello world example using them.

Thanks in advance

like image 726
Anupam Gupta Avatar asked Mar 23 '11 07:03

Anupam Gupta


People also ask

What is Drools why it is used?

Drools is a Business Rules Management System (BRMS) solution. It provides a core Business Rules Engine (BRE), a web authoring and rules management application (Drools Workbench), full runtime support for Decision Model and Notation (DMN) models at Conformance level 3 and an Eclipse IDE plugin for core development.

How do you write Drools rules?

Rule Definition − It consists of the Rule Name, the condition, and the Consequence. Drools keywords are rule, when, then, and end. In the above example, the rule names are “Hello World” and “GoodBye”. The when part is the condition in both the rules and the then part is the consequence.

How does Drools work in Java?

Drools is an open-source Business Rules Management Software (BRMS) written in Java that provides users with a variety of features like Business Rule Engine, Web authoring, Rules Management Application, and runtime support for Decision Model and Notation models.

How do you drool in spring boot?

If you want to use drools in your spring boot project, then you first need to add the drools core and compiler dependencies. After that, you can start creating drools container and auto wire it wherever you want. For instance, you can write a simple bean configuration as shown below.


1 Answers

You should first read the manual, then try google it. There have also been questions like this asked before, for example: How to deploy Drools Flow and rules by my web application

But anyways. This is how to integrate it if you use Maven and Spring:

you first need to include Drools dependencies:

    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-core</artifactId>
        <version>${drools.version}</version>
    </dependency>
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
        <version>${drools.version}</version>
    </dependency>
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-spring</artifactId>
        <version>${drools.version}</version>
    </dependency>

Define the application context:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:drools="http://drools.org/schema/drools-spring"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
            http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd">


    <drools:kbase id="kbase1">
        <drools:resources>
            <drools:resource source="classpath:Sample.drl" />
        </drools:resources>
    </drools:kbase>

    <drools:ksession id="ksession1" type="stateful" kbase="kbase1" />

</beans>

Then you can inject ksession1 as a bean.

like image 126
John Manak Avatar answered Nov 10 '22 16:11

John Manak