Migrating Spring drools-context.xml from 5.0 to 6.0

。_饼干妹妹 提交于 2019-12-02 18:52:04

问题


In drools 6, there have been some changes to the Spring integration, such that the resources are no longer specified.

    <drools:resources>
        <drools:resource type="DRL"
                         source="classpath:rules/products.drl"/>
    </drools:resources>

How do I specify them in version 6, then?


回答1:


Note that in Drools 6, drl files to be loaded should be placed under main/resources folder in your maven project. During runtime say in Tomcat, drl files will appear under <yourwebapp>/WEB-INF/classes folder.

Sample xml config:

<?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:kie="http://drools.org/schema/kie-spring"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://drools.org/schema/kie-spring http://drools.org/schema/kie-spring.xsd">

<kie:kmodule id="kmoduleCEP">
    <kie:kbase name="kbaseCEP" eventProcessingMode="stream"
        equalsBehavior="equality">
        <kie:ksession name="ksessionCEP" type="stateful"
            clockType="realtime">
            <kie:agendaEventListener ref="agendaEventListener" />
            <kie:ruleRuntimeEventListener ref="workingMemoryEventListener" />
            <kie:batch>
                <kie:set-global identifier="callbackService">
                    <ref bean="callbackService" />
                </kie:set-global>
            </kie:batch>
        </kie:ksession>
    </kie:kbase>
</kie:kmodule>

</beans>

Instead of drools-spring artifact use kie-spring. something like:

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


来源:https://stackoverflow.com/questions/28762849/migrating-spring-drools-context-xml-from-5-0-to-6-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!