【发布时间】:2014-02-25 18:47:54
【问题描述】:
我是 drools 的新手,我正在做一个项目,我需要让 drools 引擎意识到 drl 文件已更新并重建其规则。我已经研究过使用 kie 扫描仪,但这看起来很乱,需要 maven 和 git。为简洁起见,让我们假设我们的 maven 存储库是禁止使用的。是否可以将扫描仪(或其他东西)指向文件系统上的 drl 文件,并在该文件更新时让它更新项目?
【问题讨论】:
标签: drools rule-engine
我是 drools 的新手,我正在做一个项目,我需要让 drools 引擎意识到 drl 文件已更新并重建其规则。我已经研究过使用 kie 扫描仪,但这看起来很乱,需要 maven 和 git。为简洁起见,让我们假设我们的 maven 存储库是禁止使用的。是否可以将扫描仪(或其他东西)指向文件系统上的 drl 文件,并在该文件更新时让它更新项目?
【问题讨论】:
标签: drools rule-engine
如果您不想使用内置的扫描功能,可以使用 Java WatchService,它会提供目录更改通知,并在发生更改时重建您的知识库:
http://docs.oracle.com/javase/tutorial/essential/io/notification.html
重建知识库只涉及破坏当前知识库并创建一个新知识库。
编辑 - 我之前提到过使用 Spring Integration 或 Camel 文件轮询消费者。这些更多的是用于将文件放入目录中,然后将从该目录中拾取,处理并通常从该目录中删除。如果目的是修改 DRL 文件并期望知识库重新加载以响应这些更改,那么这不太合适。
【讨论】: