KnowledgeBuilder 错误后 Drools 不会重新加载规则

Drools won't reload rules after KnowledgeBuilder errors

我正在使用 KnowledgeAgent 和 change-set.xml 来跟踪 运行 时间内对规则的任何更改。

使用 JBoss 文档中的标准配置,它通常可以正常工作。 我也设置了knowledgeAgentConfiguration.setProperty("drools.agent.newInstance", "false"); 因此知识库会随着每次更改而更新。

当规则的某些更改导致 KnowledgeBuilder 错误时,问题就开始了。 例如。如果我将 System.out.println( message ); 更改为 System.out.println( message,它当然会导致 Agent 出现一些错误消息。

但是即使我修复了规则,代理也不会注意到这一点,也不会注意到任何进一步的变化。它将继续使用错误前最后一次正确的构建。

这是期望的行为吗?

有没有办法强制代理在出现此类错误后保持跟踪规则?

我使用的是 5.1.1 版本

谢谢!

正如@laune 所建议的那样,我尝试了较新的版本,它在 5.6 中似乎不是问题。0.Final(也许在之前的一些版本中,但我没有检查过)。