在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中,我没有看到像这样配置变更集的方法。
答案 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变更集的情况下进行管理。