有人知道从drools 5迁移到drools 7的工具或某种形式的文档吗?在这方面似乎没有一条明确的前进道路。
发布于 2022-03-08 14:39:47
你没有。
我将一个应用程序从Drools 5.0.1升级到Drools 7.22 (最近一次)。当我完成的时候,它实际上是一次重写。即使是5.x到6.x也是一个非常重要的升级。
我遵循的基本步骤是:
#开头.我关注的其他事情是,当我从对象中提取事物时,要确保它们被正确地输入(Drools 5在那里令人惊讶地允许;我有规则声明所有类型都是完全错误的,而Drools 5只是.)处理。)当我自己这样做时,我更新了我们的每个DRL以遵循新的语法,然后用我构建的一个简单的Drools 7工具单独检查它们,它只是加载规则(确保它们编译),并向它们抛出数据。我还使用了具有Drools语法/代码hilighting支持的IntelliJ IDEA,并且大部分时间都很擅长识别语法错误;因此,基本上每个修改后的文件的目标都是没有任何红色的下划线,表明有问题。
在Drools 5中,您的规则的文件夹组织非常随意;现在它需要匹配您的包结构。(例如,如果在rules/foo/bar中有什么内容,则需要在DRL中将包声明为rules.foo.bar。)还需要更新kmodule xml,以描述所有规则的位置。我建议使用kmodule xml,因为它使加载规则变得愚蠢--没有手动设置文件系统之类的。。
这一切只花了我9个月的时间,但我也有大约4万条规则需要(有效地)重写。(我也有规律的工作要做;这不是一个全职的、精力充沛的工作。)
(在开始之前,使用Drools 7来支持一个玩具应用程序是很有用的,这样您就可以了解新的类和语法以及规则是如何加载的。它有很多相似之处,比如KieBase而不是RuleBase,但其中有些是完全不同的。)
https://stackoverflow.com/questions/71387118
复制相似问题