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(也许在之前的一些版本中,但我没有检查过)。
我正在使用 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(也许在之前的一些版本中,但我没有检查过)。