将drools 5.5.0升级到6.1.0.Final,需要帮助来重新配置更改集文件

时间:2015-02-25 00:03:01

标签: drools

在Drools 5.5.0版本中,我们使用knowledgeBase预编译drools文件,如下所示:

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

    <drools:kbase id="ratingKBase">
        <drools:resources>
            <drools:resource type="CHANGE_SET"
                source="classpath:rules/AutoPreRatingValidations.xml" />
        </drools:resources>
    </drools:kbase>

    <drools:kbase id="bindKBase">
        <drools:resources>
            <drools:resource type="CHANGE_SET"
                source="classpath:rules/AutoPreAppValidations.xml" />
        </drools:resources>
    </drools:kbase>

    <drools:kbase id="issuePolicyKBase">
        <drools:resources>
            <drools:resource type="CHANGE_SET"
                source="classpath:rules/AutoPreIssueValidations.xml" />
        </drools:resources>
    </drools:kbase>

</beans>

根据此文件,它将一些规则文件分组并对其进行预编译。 在Drools 6.1.0.Final中,我没有看到像这样配置变更集的方法。

1 个答案:

答案 0 :(得分:1)

Drools 5的“变化集”已经消失。作为替代品,Drools 6具有org.kie.api.builder.KieScanner,如参考手册(第2.1.6节)中所述:

KieScanner是面向Maven的Drools 5中存在的KnowledgeAgent的替代品。它持续监视您的Maven存储库以检查是否已安装新版本的Kie项目,如果已​​安装,则将其部署在KieContainer中包装该项目。

您将无法通过简单的“重新配置”来处理此问题。

请注意,Java 7引入了java.nio.file.WatchService,支持文件系统事件监视。这应该有助于在没有Drools 5变更集的情况下进行管理。