Drools - 能否在运行时定义规则?

Sou*_*nta 15 runtime rules drools dynamic

可以在运行时动态地定义规则吗?还可以在运行时更改规则集.

例如,

at time = t_1 the ruleset is { R1, R2, R3 } 
at time = t_2 the ruleset is { R1, R3, R4 } 
..... 
Run Code Online (Sandbox Code Playgroud)

R1,R2是在运行时定义的规则.

谢谢.

Eds*_*lli 19

是的,Drools完全是动态的.您可以在运行时添加/删除/替换规则.所有现有会话都会自动更新,以保持一致性.检查文档/ javadoc:

http://www.jboss.org/drools/documentation

在这里你可以看到一些集成测试:

DynamicRulesTest.java

  • Drools 7+ 是否有等效版本(我使用的是 7.27.0.Final)。您指向的代码使用内部类/方法(“KnowledgeBase”和“KnowledgeSession”),而“KieBase”类没有“addPackage”方法。 (2认同)