Configuring drools and maven and writing hello world application using them

Anupam Gupta picture Anupam Gupta · Mar 23, 2011 · Viewed 12.6k times · Source

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

Answer

John Manak picture John Manak · Mar 23, 2011

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.