可以在运行时动态地定义规则吗? 还可以在运行时更改规则集。
例如,
at time = t_1 the ruleset is { R1, R2, R3 }
at time = t_2 the ruleset is { R1, R3, R4 }
.....
R1,R2是在运行时定义的规则。
感谢。
答案 0 :(得分:18)
是的,Drools完全是动态的。您可以在运行时添加/删除/替换规则。所有现有会话都会自动更新,以保持一致性。查看documentation / javadoc:
http://www.jboss.org/drools/documentation
在这里你可以看到一些集成测试:
答案 1 :(得分:2)
阅读文档并查看有关“KnowledeAgent”的测试,了解您可以做什么以及如何做。
答案 2 :(得分:0)
在Drools 5中,您只需要更改KnowledgeBase,它将使KnowledgeSession隐式更新。这就是集成测试告诉你的。你实际上并不需要KAgent。